国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

輕松實現Rxjava定時器功能

2019-10-21 21:49:12
字體:
來源:轉載
供稿:網友

使用RxJava實現定時器功能可以通過兩種方式來實現,具體實現如下:

一、使用 timer 操作符

private Disposable mDisposable; /**  * 啟動定時器  */ 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();     }    }); } /**  * 關閉定時器  */ public void closeTimer(){  if (mDisposable != null) {   mDisposable.dispose();  } }

二、使用使用 interval 和 take 操作符

在1.x 中 timer 可以執行間隔邏輯,在2.x中此功能已過時,交給了 interval 操作符,當然只使用 interval 還不能實現定時器功能,必須再結合take 操作符。具體代碼如下:

private Disposable mDisposable; /**  * 啟動定時器  */ public void startTime() {  int count_time = 10; //總時間  Observable.interval(0, 1, TimeUnit.SECONDS)    .take(count_time+1)//設置總共發送的次數    .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();     }    }); } /**  * 關閉定時器  */ public void closeTimer(){  if (mDisposable != null) {   mDisposable.dispose();  } }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 蒲江县| 榆社县| 黄骅市| 大宁县| 灵丘县| 连江县| 温泉县| 乌兰县| 无为县| 东乡| 北川| 五指山市| 博乐市| 长治县| 延边| 巴彦县| 随州市| 石阡县| 全州县| 繁昌县| 福建省| 务川| 大兴区| 宜良县| 和静县| 平阳县| 广河县| 深圳市| 克山县| 库伦旗| 恩平市| 明水县| 安吉县| 九龙城区| 峨山| 万盛区| 甘德县| 镇江市| 南安市| 彰武县| 洮南市|