亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何實現一個Rxjava定時器功能

發布時間:2021-05-22 16:49:41 來源:億速云 閱讀:231 作者:Leah 欄目:移動開發

這期內容當中小編將會給大家帶來有關如何實現一個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();
  }
 }

上述就是小編為大家分享的如何實現一個Rxjava定時器功能了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

封丘县| 东山县| 云南省| 格尔木市| 沙洋县| 屯门区| 古田县| 永德县| 方山县| 邹城市| 长子县| 集安市| 南岸区| 平度市| 田阳县| 永福县| 鲁山县| 永州市| 靖安县| 永修县| 岱山县| 林口县| 广水市| 长顺县| 西青区| 绥芬河市| 嵊泗县| 汤阴县| 郯城县| 江陵县| 德庆县| 洛宁县| 大庆市| 楚雄市| 隆回县| 南溪县| 厦门市| 政和县| 康马县| 潍坊市| 同心县|