Android RxJava 创建操作符Timer
来源:互联网 发布:3ds淘宝哪家 编辑:程序博客网 时间:2024/06/05 23:48
之前有写过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操作符,既可以延迟执行一段逻辑,也可以间隔执行一段逻辑
首先添加类库
// 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(); } }
阅读全文
1 0
- Android RxJava 创建操作符Timer
- RxJava 创建操作符 timer与interval
- Android RxJava 创建操作符Interval
- Rxjava(创建类)--timer
- RXJava 创建操作符
- RXjava 创建操作符
- Android RxJava操作符详解系列: 创建操作符
- Android RxJava操作符详解系列: 创建操作符
- Android RxJava操作符详解系列: 创建操作符
- RxJava 创建操作符create
- RxJava 创建操作符form
- RxJava 创建操作符 just
- RxJava 创建操作符 defer
- RxJava-创建Observable操作符
- RxJava操作符(1)-创建
- RxJava创建类型操作符
- RxJava—创建操作符
- RxJava----操作符:创建操作符
- [bigdata-095] IoC 控制反转 的本质
- Vue.js vs React vs Angular 深度对比
- kubernetes1.7发布跟踪--1.7部分新特性介绍
- jsp对象作用范围
- 单利模式:懒汉式和饿汉式
- Android RxJava 创建操作符Timer
- mysql之 Innobackupex全备恢复(原理、演示)
- 关于strtotime无法处理31号的问题
- [YTU]_2390( 抽象一个形状类)
- [YTU]_2576( 虚函数练习:动物2)
- JavaBean
- frameset 标签属性参考和简单实例应用
- Java.lang.IllegalArgumentException: already added: 异常解决办法
- js垃圾回收机制