本文实例为大家分享了Android RxJava创建操作符Timer的具体代码,供大家参考,具体内容如下

之前有写过Android实现倒计时之使用CountDownTimer,除了CountDownTimer,开发中我们也会用到handler,例如

mHandler.sendEmptyMessageDelayed(1, 10*1000);  private Handler mHandler = new Handler() {    @Override    public void handleMessage(Message msg) {      super.handleMessage(msg);      Log.e("流程", "10秒时间已到");    }  };

现在结合RxJava来的Observable.timer操作符,既可以延迟执行一段逻辑,也可以间隔执行一段逻辑

首先添加类库

// RxAndroidcompile 'io.reactivex:rxandroid:1.2.1'// RxJavacompile 'io.reactivex:rxjava:1.2.4'

(1)Timer 延迟10秒执行:

private void timer() {    Observable.timer(10000, TimeUnit.MILLISECONDS)        .observeOn(AndroidSchedulers.mainThread())        .subscribe(new Action1() {          @Override          public void call(Long aLong) {            Log.e("流程", "10秒倒计时已结束");          }        });  }

(2)Timer 间隔1秒执行:

 private Subscription subscribe;  private void timer() {    subscribe= Observable.timer(1000,1000,TimeUnit.MILLISECONDS).subscribe(new Subscriber() {      @Override      public void onCompleted() {      }      @Override      public void onError(Throwable e) {      }      @Override      public void onNext(Long aLong) {        Log.e(TAG, "------>along:"+aLong+" time:"+ SystemClock.elapsedRealtime());      }    });  }

记得要取消订阅

 private void stop() {    if (subscribe != null && !subscribe.isUnsubscribed()) {      subscribe.unsubscribe();    }  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多相关文章

  1. Android执行打开文件(PDF,PPT,WORD,EXCEL,CHM,HTML,TEXT,AUDIO,V
  2. IntentService使用、原理
  3. 由sqlite在手机上的存储位置,引发的onCreate在哪里执行的总结
  4. Android(安卓)app开发中获取cpu arm架构信息及执行shell命令方法
  5. 3.体验android 4.2.2
  6. Flutter ubuntu 环境搭建
  7. Android百度地图(一)如何集成到项目中
  8. Android(安卓)Intent和PendingIntent的区别详细说明
  9. Android(安卓)init.rc执行顺序

随机推荐

  1. 大数据和云计算技术周报(第102期)
  2. 电商数据分析:用七句话学会用数据监控类目
  3. 给非科班出身的你,推荐几本统计学图书
  4. 批量制作:疫情防控小区出入证
  5. 18个高效WPS表格技巧,值得收藏
  6. Linux中shell脚本使用
  7. 你真知道如何高效用mapPartitions吗?
  8. spark streaming窗口及聚合操作后如何管
  9. 关于浪尖小蜜圈的一些说明
  10. 浪尖聊聊大数据从业者的迷茫及解决方案