Android實現(xiàn)輪詢的三種方式
更新時間:2020年06月19日 10:51:55 作者:snow_lyGirl
這篇文章主要為大家詳細介紹了Android實現(xiàn)輪詢的三種方式,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了Android實現(xiàn)輪詢的方式,供大家參考,具體內(nèi)容如下
1.通過rxjava實現(xiàn)(代碼中使用了Lambda表達式)
private static final int PERIOD = 10 * 1000; private static final int DELAY = 100; private Disposable mDisposable; /** * 定時循環(huán)任務 */ private void timeLoop() { mDisposable = Observable.interval(DELAY, PERIOD, TimeUnit.MILLISECONDS) .map((aLong -> aLong + 1)) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(aLong -> getUnreadCount());//getUnreadCount()執(zhí)行的任務 } //關閉定時任務 if (mDisposable != null) mDisposable.dispose();
2.通過Handler實現(xiàn)
private Handler mHandler = new Handler(Looper.getMainLooper()); // 全局變量 private Runnable mTimeCounterRunnable = new Runnable() { @Override public void run() {//在此添加需輪尋的接口 getUnreadCount();//getUnreadCount()執(zhí)行的任務 mHandler.postDelayed(this, 20 * 1000); } }; //關閉定時任務 mHandler.removeCallbacks(mTimeCounterRunnable);
3.使用Java的Timer和TimerTask實現(xiàn)
private static final int PERIOD = 10 * 1000; private static final int DELAY = 100; private Timer mTimer; private TimerTask mTimerTask; private void timeLoop2(){ mTimer = new Timer(); mTimerTask = new TimerTask() { @Override public void run() { //在此添加輪詢 } }; mTimer.schedule(mTimerTask,DELAY,PERIOD); } //關閉定時任務 if (mTimer != null) mTimer.cancel();
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Android 利用ViewPager+GridView實現(xiàn)首頁導航欄布局分頁效果
用ViewPager+GridView實現(xiàn)首頁導航欄布局分頁效果來實現(xiàn)的效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2016-10-10Android Java實現(xiàn)余弦匹配算法示例代碼
這篇文章主要介紹了Android Java實現(xiàn)余弦匹配算法示例代碼的相關資料,這里通過java 算法實現(xiàn)余弦匹配算法實現(xiàn)比較的實例,需要的朋友可以參考下2016-11-11Kotlin之在Gradle中無參(no-arg)編譯器插件的使用詳解
這篇文章主要介紹了Kotlin之在Gradle中無參(no-arg)編譯器插件的使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-11-11Android Fragment的靜態(tài)注冊和動態(tài)注冊創(chuàng)建步驟
這篇文章主要介紹了Android Fragment的靜態(tài)注冊和動態(tài)注冊創(chuàng)建步驟,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02