Android RxJava 创建操作符Timer
2017-06-09 10:35
417 查看
之前有写过Android实现倒计时之使用CountDownTimer,除了CountDownTimer,开发中我们也会用到handler,例如
现在结合RxJava来的Observable.timer操作符,既可以延迟执行一段逻辑,也可以间隔执行一段逻辑
首先添加类库
(1)Timer 延迟10秒执行:
(2)Timer 间隔1秒执行:
记得要取消订阅
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操作符,既可以延迟执行一段逻辑,也可以间隔执行一段逻辑
首先添加类库
// RxAndroid compile 'io.reactivex:rxandroid:1.2.1' // RxJava compile 'io.reactivex:rxjava:1.2.4'
(1)Timer 延迟10秒执行:
private void timer() { Observable.timer(10000, TimeUnit.MILLISECONDS) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Action1<Long>() { @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<Long>() { @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(); } }
相关文章推荐
- Android RxJava创建操作符Timer的方法
- Android RxJava操作符详解系列: 创建操作符
- RxJava 创建操作符 timer与interval
- Android RxJava 创建操作符Interval
- RxJava【创建】操作符 create just from defer timer interval
- Android拾萃 - RxJava2之创建操作符及其demo
- Android RxJava操作符详解系列: 创建操作符
- Android RxJava创建操作符Interval
- RxJava 创建操作符 timer与interval
- RxJava zip操作符在Android中的实际使用场景
- RxJava 创建操作符 just
- RxJava 创建操作符 defer
- RxJava(九)zip操作符在Android中的实际使用场景
- Android RxJava使用介绍(三) RxJava的操作符
- Android RxJava使用介绍(四) RxJava的操作符
- Android RxJava使用介绍(四) RxJava的操作符
- Android RxJava使用介绍(五) RxJava的操作符
- 浅析RxJava和RxAndroid关于线程切换和操作符作用
- 谁来讲讲Rxjava、rxandroid中的操作符的作用?
- RxJava 和 RxAndroid 二(操作符的使用)