Android實(shí)現(xiàn)輪詢的三種方式
本文實(shí)例為大家分享了Android實(shí)現(xiàn)輪詢的方式,供大家參考,具體內(nèi)容如下
1.通過(guò)rxjava實(shí)現(xiàn)(代碼中使用了Lambda表達(dá)式)
private static final int PERIOD = 10 * 1000;
private static final int DELAY = 100;
private Disposable mDisposable;
/**
* 定時(shí)循環(huán)任務(wù)
*/
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í)行的任務(wù)
}
//關(guān)閉定時(shí)任務(wù)
if (mDisposable != null) mDisposable.dispose();
2.通過(guò)Handler實(shí)現(xiàn)
private Handler mHandler = new Handler(Looper.getMainLooper()); // 全局變量
private Runnable mTimeCounterRunnable = new Runnable() {
@Override
public void run() {//在此添加需輪尋的接口
getUnreadCount();//getUnreadCount()執(zhí)行的任務(wù)
mHandler.postDelayed(this, 20 * 1000);
}
};
//關(guān)閉定時(shí)任務(wù)
mHandler.removeCallbacks(mTimeCounterRunnable);
3.使用Java的Timer和TimerTask實(shí)現(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);
}
//關(guān)閉定時(shí)任務(wù)
if (mTimer != null) mTimer.cancel();
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android自定義手機(jī)界面狀態(tài)欄實(shí)例代碼
我們知道IOS上的應(yīng)用,狀態(tài)欄的顏色總能與應(yīng)用標(biāo)題欄顏色保持一致,用戶體驗(yàn)很不錯(cuò),那安卓是否可以呢?若是在安卓4.4之前,答案是否定的,但在4.4之后,谷歌允許開(kāi)發(fā)者自定義狀態(tài)欄背景顏色啦,這是個(gè)不錯(cuò)的體驗(yàn)2017-03-03
Android 利用ViewPager+GridView實(shí)現(xiàn)首頁(yè)導(dǎo)航欄布局分頁(yè)效果
用ViewPager+GridView實(shí)現(xiàn)首頁(yè)導(dǎo)航欄布局分頁(yè)效果來(lái)實(shí)現(xiàn)的效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2016-10-10
Android Java實(shí)現(xiàn)余弦匹配算法示例代碼
這篇文章主要介紹了Android Java實(shí)現(xiàn)余弦匹配算法示例代碼的相關(guān)資料,這里通過(guò)java 算法實(shí)現(xiàn)余弦匹配算法實(shí)現(xiàn)比較的實(shí)例,需要的朋友可以參考下2016-11-11
Kotlin之在Gradle中無(wú)參(no-arg)編譯器插件的使用詳解
這篇文章主要介紹了Kotlin之在Gradle中無(wú)參(no-arg)編譯器插件的使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
Android Fragment的靜態(tài)注冊(cè)和動(dòng)態(tài)注冊(cè)創(chuàng)建步驟
這篇文章主要介紹了Android Fragment的靜態(tài)注冊(cè)和動(dòng)態(tài)注冊(cè)創(chuàng)建步驟,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02

