這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)如何實(shí)現(xiàn)一個(gè)Rxjava定時(shí)器功能,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
成都網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、成都網(wǎng)站建設(shè)公司、微信開發(fā)、小程序開發(fā)、集團(tuán)成都定制網(wǎng)站等服務(wù)項(xiàng)目。核心團(tuán)隊(duì)均擁有互聯(lián)網(wǎng)行業(yè)多年經(jīng)驗(yàn),服務(wù)眾多知名企業(yè)客戶;涵蓋的客戶類型包括:廣告推廣等眾多領(lǐng)域,積累了大量豐富的經(jīng)驗(yàn),同時(shí)也獲得了客戶的一致贊賞!
一、使用 timer 操作符
private Disposable mDisposable; /** * 啟動(dòng)定時(shí)器 */ public void startTime() { Observable.timer(10, TimeUnit.SECONDS) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer<Long>() { @Override public void onSubscribe(Disposable d) { mDisposable = d; } @Override public void onNext(Long value) { //Log.d("Timer",""+value); } @Override public void onError(Throwable e) { } @Override public void onComplete() { // TODO:2017/12/1 closeTimer(); } }); } /** * 關(guān)閉定時(shí)器 */ public void closeTimer(){ if (mDisposable != null) { mDisposable.dispose(); } }
二、使用使用 interval 和 take 操作符
在1.x 中 timer 可以執(zhí)行間隔邏輯,在2.x中此功能已過時(shí),交給了 interval 操作符,當(dāng)然只使用 interval 還不能實(shí)現(xiàn)定時(shí)器功能,必須再結(jié)合take 操作符。具體代碼如下:
private Disposable mDisposable; /** * 啟動(dòng)定時(shí)器 */ public void startTime() { int count_time = 10; //總時(shí)間 Observable.interval(0, 1, TimeUnit.SECONDS) .take(count_time+1)//設(shè)置總共發(fā)送的次數(shù) .map(new Function<Long, Long>() { @Override public Long apply(Long aLong) throws Exception { //aLong從0開始 return count_time-aLong; } }) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer<Long>() { @Override public void onSubscribe(Disposable d) { mDisposable = d; } @Override public void onNext(Long value) { //Log.d("Timer",""+value); } @Override public void onError(Throwable e) { } @Override public void onComplete() { // TODO:2017/12/1 closeTimer(); } }); } /** * 關(guān)閉定時(shí)器 */ public void closeTimer(){ if (mDisposable != null) { mDisposable.dispose(); } }
上述就是小編為大家分享的如何實(shí)現(xiàn)一個(gè)Rxjava定時(shí)器功能了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
當(dāng)前文章:如何實(shí)現(xiàn)一個(gè)Rxjava定時(shí)器功能
文章位置:http://sd-ha.com/article4/ggehie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、品牌網(wǎng)站制作、標(biāo)簽優(yōu)化、靜態(tài)網(wǎng)站、關(guān)鍵詞優(yōu)化、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)