介绍
这篇文章给大家分享的是有关Android如何获取服务器与客户端时差的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
一般我们在做商品倒计时的时候会遇到要从后台获取商品的开始时间和结束时间,还要计算商品距离开始时间的倒计时和结束时间的倒计时,但是这样只是从后台获取到开始时间,还要再和手机系统的时间相减,才能获取到开始时间的倒计时,那问题来了,如果用户在手机上改了时间呢?是不是就会产生误差,很可能其他人还没开始,就已经有人可以抢购了,这样的体验效果就很差了,所以我们不仅要计算开始时间与当前时间的时差,还要计算服务器与客户端的时差,说了这么多,还是上代码吧:
<强> 1。在项目启动的时候获取时差并保存强>
/* * ,*获取时差并保存 ,* @param 上下文 ,*/public static  void getDifferenceTime (final Context 上下文){ new 才能线程(new Runnable (), { ,,@Override ,,,public void 运行(),{ ,,,,,try { ,,,,,,,URL URL =, new URL (CONTENT_URL); ,,,,,,,//生成URLConnection连接对象 ,,,,,,,URLConnection uc =, url.openConnection (); ,,,,,,,//发出连接 ,,,,,,,uc.connect (); ,,,,,,,//获取服务器时间 ,,,,,,,long serverTime =, uc.getDate (); ,,,,,,,//获取服务器时间与手机系统时间的时差 ,,,,,,,long differenceTime =, serverTime 作用;System.currentTimeMillis (); ,,,,,,,//保存时差 ,,,,,,,SaveUtil.getInstance(上下文).setDifferenceTime (differenceTime); ,,,,,},catch (Exception e), { ,,,,,,,e.printStackTrace (); ,,,,,} ,,,} })才能.start (); }
<强> 2。适配器中计算开始时间倒计时强>
//获取列表中商品的开始时间 String startTimeStr =, list.get(位置).getStartTime (); long startTime =, stringToLong (startTimeStr);//活动开始时间,手机时间,服务器时间与手机时间的相差值,=,活动开始倒计时 long remainingTime =, startTime 作用;System.currentTimeMillis(),安康;SaveUtil.getInstance (mContext) .getDifferenceTime ();
Android是什么
Android是一种基于Linux内核的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由美国谷歌公司和开放手机联盟领导及开发。
感谢各位的阅读!关于“Android如何获取服务器与客户端时差”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!