91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

如何實現一個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

色达县| 南宁市| 烟台市| 广汉市| 北流市| 五河县| 冕宁县| 句容市| 武乡县| 宝丰县| 苗栗市| 淮南市| 华容县| 玉树县| 乌苏市| 岳普湖县| 榆树市| 张家港市| 三门县| 宣恩县| 嘉定区| 乌兰察布市| 沙坪坝区| 清涧县| 富源县| 晴隆县| 马尔康县| 连州市| 阿城市| 江都市| 昔阳县| 古丈县| 化德县| 贺州市| 宁晋县| 桃江县| 丰原市| 鞍山市| 新余市| 余庆县| 两当县|