国产探花免费观看_亚洲丰满少妇自慰呻吟_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開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武平县| 明溪县| 仁寿县| 张家口市| 遵化市| 海南省| 福安市| 肥西县| 胶州市| 安福县| 汝阳县| 镇平县| 南川市| 瑞丽市| 石城县| 宁海县| 深水埗区| 汤阴县| 昔阳县| 建阳市| 通河县| 永登县| 灵武市| 铜陵市| 保亭| 温宿县| 云林县| 塔河县| 普兰店市| 洱源县| 德清县| 岑溪市| 鄂托克前旗| 山东省| 通许县| 泰宁县| 临沧市| 荣昌县| 苗栗县| 富蕴县| 玉林市|