最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android 獲取服務(wù)器與客戶端時差的實(shí)例代碼

 更新時間:2018年01月04日 14:50:14   作者:AndyRenJie  
下面小編就為大家分享一篇Android 獲取服務(wù)器與客戶端時差的實(shí)例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

一般我們在做商品倒計(jì)時的時候會遇到要從后臺獲取商品的開始時間和結(jié)束時間,還要計(jì)算商品距離開始時間的倒計(jì)時和結(jié)束時間的倒計(jì)時,但是這樣只是從后臺獲取到開始時間,還要再和手機(jī)系統(tǒng)的時間相減,才能獲取到開始時間的倒計(jì)時,那問題來了,如果用戶在手機(jī)上改了時間呢?是不是就會產(chǎn)生誤差,很可能其他人還沒開始,就已經(jīng)有人可以搶購了,這樣的體驗(yàn)效果就很差了,所以我們不僅要計(jì)算開始時間與當(dāng)前時間的時差,還要計(jì)算服務(wù)器與客戶端的時差,說了這么多,還是上代碼吧:

1.在項(xiàng)目啟動的時候獲取時差并保存

/**
 * 獲取時差并保存
 * @param context
 */
public static void getDifferenceTime(final Context context){
  new Thread(new Runnable() {
    @Override
    public void run() {
      try {
        URL url = new URL(CONTENT_URL);
        //生成URLConnection連接對象
        URLConnection uc = url.openConnection();
        //發(fā)出連接
        uc.connect();
        //獲取服務(wù)器時間
        long serverTime = uc.getDate();
        //獲取服務(wù)器時間與手機(jī)系統(tǒng)時間的時差
        long differenceTime = serverTime - System.currentTimeMillis();
        //保存時差
        SaveUtil.getInstance(context).setDifferenceTime(differenceTime);
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
  }).start();
}

2.Adapter中計(jì)算開始時間倒計(jì)時

//獲取列表中商品的開始時間
String startTimeStr = list.get(position).getStartTime();
long startTime = stringToLong(startTimeStr);
//活動開始時間-手機(jī)時間-服務(wù)器時間與手機(jī)時間的相差值 = 活動開始倒計(jì)時
long remainingTime = startTime - System.currentTimeMillis() - SaveUtil.getInstance(mContext).getDifferenceTime();

結(jié)束時間與上述方法相同,就不再次粘代碼了。我知道需要需要改進(jìn)的地方還有很多,大家不要噴的太厲害了~

以上這篇Android 獲取服務(wù)器與客戶端時差的實(shí)例代碼就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 上傳Android項(xiàng)目至github的解析

    上傳Android項(xiàng)目至github的解析

    本文主要講解了如何將自己的android項(xiàng)目上傳至github,相信大家平時在開發(fā)過程中為了避免重復(fù)造輪子會經(jīng)常逛一下github查看有沒有與需求類似的開源項(xiàng)目,那么github上面的開源項(xiàng)目是如何上傳至github上的呢?
    2018-05-05
  • Android checkbox的listView(多選,全選,反選)具體實(shí)現(xiàn)方法

    Android checkbox的listView(多選,全選,反選)具體實(shí)現(xiàn)方法

    由于listview的一些特性,剛開始寫這種需求的功能的時候都會碰到一些問題,重點(diǎn)就是存儲每個checkbox的狀態(tài)值,在這里分享出了完美解決方法:
    2013-06-06
  • Android開發(fā)高仿課程表的布局實(shí)例詳解

    Android開發(fā)高仿課程表的布局實(shí)例詳解

    這篇文章主要介紹了Android開發(fā)高仿課程表的布局實(shí)例詳解的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-10-10
  • Android EasyBarrage實(shí)現(xiàn)輕量級彈幕效果

    Android EasyBarrage實(shí)現(xiàn)輕量級彈幕效果

    本篇文章主要介紹了Android EasyBarrage實(shí)現(xiàn)輕量級彈幕效果,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • Android復(fù)選框?qū)υ捒蛴梅▽?shí)例簡析

    Android復(fù)選框?qū)υ捒蛴梅▽?shí)例簡析

    這篇文章主要介紹了Android復(fù)選框?qū)υ捒蛴梅?結(jié)合實(shí)例形式簡單分析了Android復(fù)選對話框的創(chuàng)建與使用技巧,需要的朋友可以參考下
    2016-01-01
  • 淺談Android解決65535問題的方法

    淺談Android解決65535問題的方法

    下面小編就為大家分享一篇淺談Android解決65535問題的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • Android自定義頂部標(biāo)題欄

    Android自定義頂部標(biāo)題欄

    這篇文章主要為大家詳細(xì)介紹了Android自定義頂部標(biāo)題欄,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • Android一次性退出多個Activity的方法

    Android一次性退出多個Activity的方法

    這篇文章主要介紹了Android一次性退出多個Activity的方法,結(jié)合實(shí)例形式分析了Activity的創(chuàng)建,繼承,遍歷與關(guān)閉等實(shí)現(xiàn)步驟與相關(guān)技巧,需要的朋友可以參考下
    2016-02-02
  • PHP autoload 機(jī)制詳解

    PHP autoload 機(jī)制詳解

    本文主要介紹 PHP autoload 機(jī)制,這里整理了詳細(xì)的知識資料供大家學(xué)習(xí)參考,希望能幫助有需要的小伙伴
    2016-08-08
  • Android自定義View實(shí)現(xiàn)可展開、會呼吸的按鈕

    Android自定義View實(shí)現(xiàn)可展開、會呼吸的按鈕

    這篇文章主要為大家詳細(xì)介紹了Android自定義View實(shí)現(xiàn)可展開、會呼吸的按鈕,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08

最新評論

汨罗市| 新和县| 肃宁县| 德令哈市| 田林县| 互助| 汝阳县| 申扎县| 泰顺县| 襄城县| 锦屏县| 岐山县| 朝阳区| 昌宁县| 沙田区| 隆化县| 仁怀市| 宁南县| 呈贡县| 瓦房店市| 南通市| 伊金霍洛旗| 镇平县| 邹平县| 宁国市| 扶余县| 密山市| 佛坪县| 广元市| 平潭县| 胶州市| 克什克腾旗| 彰武县| 腾冲县| 隆尧县| 卓尼县| 黄石市| 通渭县| 永康市| 邯郸市| 苍溪县|