欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android兩種輪詢的實現(xiàn)方法

 更新時間:2020年06月19日 10:38:54   作者:青城小語  
這篇文章主要為大家詳細(xì)介紹了Android兩種輪詢的實現(xiàn)方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

Android 兩種輪詢的簡單寫法,供大家參考,具體內(nèi)容如下

public void startPolling() {
 subscriber = Observable.interval(0, POLLING_INTERVAL, TimeUnit.MILLISECONDS).
   doOnNext(new Action1<Long>() {
    @Override
    public void call(Long aLong) {
     doPolling().
       subscribeOn(Schedulers.io()).
       observeOn(AndroidSchedulers.mainThread()).
       subscribe(new Subscriber<String>() {
        @Override
        public void onCompleted() {

        }

        @Override
        public void onError(Throwable e) {
         Log.d(TAG, "onError");
        }

        @Override
        public void onNext(String response) {
         handleResponse(response);
        }
       });
    }
   }).subscribe();
}

public void stopPolling() {
 if (!subscriber.isUnsubscribed()) {
  subscriber.unsubscribe();
 }
}

private Observable<Param> doPolling() {
 return Observable.create(new Observable.OnSubscribe<Param>() {
   @Override
   public void call(Subscriber<? super Param> subscriber) {
    //do work
    subscriber.onNext(response);
    subscriber.onCompleted();
   }
  });
}

在Activity的生命周期里分別調(diào)用start和stop方法,解除輪詢綁定,避免內(nèi)存泄漏。

其它簡單的輪詢方法還有利用handler的postDelay機制實現(xiàn)

@Override
public void handleMsg(Message msg) {
 switch (msg.what) {
  case MSG_POLLING:
   doPolling(false);
   break;
  ...
  ...
 }
}

private void doPolling(Boolean isFirst) {
 if(isFirst) {
  mHandler.removeMessages(MSG_POLLING);
  mHandler.sendEmptyMessageDelayed(MSG_POLLING, POLLING_INTERVAL);
  return;
 }
 doWork(); //asyn network
 mHandler.sendEmptyMessageDelayed(MSG_POLLING, POLLING_INTERVAL);
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Android?Jetpack結(jié)構(gòu)運用Compose實現(xiàn)微博長按點贊彩虹效果

    Android?Jetpack結(jié)構(gòu)運用Compose實現(xiàn)微博長按點贊彩虹效果

    Compose在動畫方面下足了功夫,提供了豐富的API。但也正由于API種類繁多,如果想一氣兒學(xué)下來,最終可能會消化不良,導(dǎo)致似懂非懂。結(jié)合例子學(xué)習(xí)是一個不錯的方法,本文就帶大家邊學(xué)邊做,通過實現(xiàn)一個微博長按點贊的動畫效果,學(xué)習(xí)了解Compose動畫的常見思路和開發(fā)技巧
    2022-07-07
  • Android 圖片Bitmap的剪切的示例代碼

    Android 圖片Bitmap的剪切的示例代碼

    本篇文章主要介紹了Android 圖片Bitmap的剪切的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • Android CountDownTimer實現(xiàn)倒計時器

    Android CountDownTimer實現(xiàn)倒計時器

    這篇文章主要為大家詳細(xì)介紹了Android CountDownTimer實現(xiàn)倒計時效果的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • Android Fragment實現(xiàn)列表和內(nèi)容聯(lián)動

    Android Fragment實現(xiàn)列表和內(nèi)容聯(lián)動

    這篇文章主要為大家詳細(xì)介紹了Android Fragment實現(xiàn)列表和內(nèi)容聯(lián)動效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • Android 國際貨幣格式化的示例代碼

    Android 國際貨幣格式化的示例代碼

    本篇文章主要介紹了Android 國際貨幣格式化的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • Android開發(fā)導(dǎo)入項目報錯Ignoring InnerClasses attribute for an anonymous inner class的解決辦法

    Android開發(fā)導(dǎo)入項目報錯Ignoring InnerClasses attribute for an anonym

    今天小編就為大家分享一篇關(guān)于Android開發(fā)導(dǎo)入項目報錯Ignoring InnerClasses attribute for an anonymous inner class的解決辦法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • 使用Android自定義控件實現(xiàn)滑動解鎖九宮格

    使用Android自定義控件實現(xiàn)滑動解鎖九宮格

    最近由于Android項目需要,要求做一個類似于支付寶的九宮格解鎖組件,下面小編給大家分享了具體實現(xiàn)代碼,需要的朋友可以參考下
    2015-10-10
  • Android中butterknife的使用與自動化查找組件插件詳解

    Android中butterknife的使用與自動化查找組件插件詳解

    這篇文章主要給大家介紹了關(guān)于Android中butterknife的使用與自動化查找組件插件的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對各位Android開發(fā)者們具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • 淺談Android LruCache的緩存策略

    淺談Android LruCache的緩存策略

    這篇文章主要介紹了淺談Android LruCache的緩存策略,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • Android Jetpack導(dǎo)航組件Navigation創(chuàng)建使用詳解

    Android Jetpack導(dǎo)航組件Navigation創(chuàng)建使用詳解

    這篇文章主要為大家介紹了Android Jetpack導(dǎo)航組件Navigation創(chuàng)建及使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11

最新評論