Android RxJava创建操作符Timer的方法
作者:Adan0520 发布时间:2022-04-22 13:10:26
标签:Android,RxJava,Timer
本文实例为大家分享了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操作符,既可以延迟执行一段逻辑,也可以间隔执行一段逻辑
首先添加类库
// 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();
}
}
来源:http://blog.csdn.net/qq_20785431/article/details/72934048


猜你喜欢
- 启用开发者模式①填写服务器配置启用开发模式需要先成为开发者,而且编辑模式和开发模式只能选择一个(进入微信公众平台=>开发=>基本
- 如何:对 Windows 窗体控件进行线程安全调用访问 Windows 窗体控件本质上不是线程安全的。 如果有两个或多个线程操作某一控件的状
- 一、获取某年某月的天数1.在实现日期类的过程中,日期加减天数的应用场景一定会频繁使用到这个函数接口,因为加减天数会使得月份发生变化,可能增月
- @Profile注解详解@Profile:Spring为我们提供的可以根据当前环境,动态的激活和切换一系列组件的功能;开发环境develop
- 最近在用ssm框架做一个管理系统,做到登录验证时,使用了下面的代码生成图片验证码,最终的效果如下图。Java类public class Ra
- 一、JMeter后端 * 介绍说到JMeter后端 * ,必须要从源头BackendListener开始说,最后延伸到我们需要的Backen
- 1.RecycledPool的重用场景以及使用:多个RecyclerView出现,并且他们的item布局结构一致,这时候可以进行重用。在进行
- 实现比较两个List之间的差异,包括获取两List的差集,交集,并集(不去重&去重)的API解法和优化解法的解决方案。求差集/**
- 在J2EE项目的开发中,不管是对底层的数据库操作过程,还是业务层的处理过程,还是控制层的处理过程,都不可避免会遇到各种可预知的、不可预知的异
- 本例是利用C#中的性能计数器(PerformanceCounter)监控网络的状态。并能够直观的展现出来涉及到的知识点:Performanc
- Android实现环形进度条的效果图如下:自定义控件:AttendanceProgressBar代码如下:public class Atte
- Java——获取字符串编码格式判断一个字符串的编码格式: public static St
- 自动登录,是为了帮助用户多次使用这个网页时,不用再次输入用户名和密码就可以登录。自动登录是指用户将用户的登录信息,人,保存到本地的文件中Co
- public class Count { public static void main(String[] args) { int i =
- 本文实例讲述了Android编程实现为ListView创建上下文菜单(ContextMenu)的方法。分享给大家供大家参考,具体如下:Con
- 第 1 步:将这个 Spring Boot 项目的打包方式设置为 war。<packaging>war</packagin
- 问题描述 在某一天打开电脑后,idea里的代码无缘无故地就爆红了,不但spring框架爆红,就
- 因为某些需求,要在特定的时间执行一些任务,比如定时删除服务器存储的数据缓存,定时获取数据以及定时发送推送等等,这时就需要用到定时任务了。定时
- 封面GitHub传送门1.写在前面本文主要讲的是在Android原生Switch控件的基础上进行样式自定义,内容很简单,但是在实现的过程中还
- 排列组合的概念排列:从n个不同元素中取出m(m≤n)个元素,按照一定的顺序排成一列,叫做从n个元素中取出m个元素的一个排列(Arrangem