关于RxJava的一些特殊用法小结
作者:DannyLau 发布时间:2022-06-13 13:31:54
标签:rxjava,用法
本文主要给大家介绍了关于RxJava的一些特殊用法,分享出来供大家参考学习,需要的朋友们下面来一起看看吧。
一、按钮绑定
通过 RxView 可以对 view 进行快速的 clicks 绑定
RxView.clicks(button).debounce(300, TimeUnit.MILLISECONDS).subscribe(new Action1<Void>() {
@Override
public void call(Void aVoid) {
Log.i("test", "clicked");
}
});
二、轮询
项目中需要轮询请求,有两种实现方式
第一种
//轮训请求
Observable.create(new Observable.OnSubscribe<String>(){
@Override
public void call(Subscriber<? super String> subscriber) {
Schedulers.newThread().createWorker().schedulePeriodically(new Action0() {
@Override
public void call() {
//请求网络
}
},10,10, TimeUnit.SECONDS);
}
}).subscribe(new Action1<String>() {
@Override
public void call(String s) {
}
});
第二种
//轮询
Subscription mRepeat = Observable.interval(2,2,TimeUnit.SECONDS)
.subscribe(new Action1<Long>() {
@Override
public void call(Long aLong) {
}
});
三、延迟操作
有了这个就不用写,之前 thread 的延时方法了,而且可以快速的选择主线程和子线程
//延迟
Observable.timer(2,TimeUnit.SECONDS)
.subscribe(call ->{
});
来源:http://danny-lau.com/2017/01/10/rxjava-utils/


猜你喜欢
- 既然是一个网关。那么全局过滤器肯定是少不了的一个存在。像是鉴权、认证啥的不可能每个服务都做一次,一般都是在网关处就搞定了。Zuul他就有很强
- String和StringBuilder和StringBuffer,这三个都是值得深究一翻的,可能很多人会说,实在不行的话,都全部用Stri
- springboot前端传参date类型后台处理先说结论建议大家直接使用@JsonFormat,原因如下: 1、针对json格式
- 背景ELMAH就是一个日志的拦截和处理组件,说到.net的日志组件,大家的第一反应该是Log4Net、NLog等这些东西,关于Log4Net
- 1、cmd指令,进入.svn目录,找到wc.db文件 sqlite 3 打开2、 对 svn源代码目录 右键, clean up, 稍等1至
- 第三方类库源码将一网友的XMPP代码从ADT转到AS时,发现其使用了第三方类库,源码放在了lib下,直接在AS中Import project
- 一、迭代key&value第一种方式:迭代entrySet1.方法一/** * entrySet集合for-each循环(
- android中提供了4中动画: AlphaAnimation 透明度动画效果 ScaleAnimation 缩放动画效果 Translat
- 这是android新推出的一个,让卡片带立体感的一个控件,就是一个卡牌,有点类似于布局那种的东西,里面可以添加控件内容先看看运行的效果图:1
- Java Json的各种处理一、net.sf.json1、Json转MapJSONObject jsonObject = JSONObjec
- 场景点击拨打电话按钮,跳转到拨打电话页面点击发送短信按钮,跳转到发送短信页面注:实现将布局改为LinearLayout,并通过android
- 下截JNative组件jnative.sourceforge.net/ 到这里下载JNative开源项目,我下载的是1.3.2解压JNati
- 正常情况下,每个子线程完成各自的任务就可以结束了。不过有的时候,我们希望多个线程协同工作来完成某个任务,这时就涉及到了线程间通信了。本文涉及
- public class MyGestureLintener extends SimpleOnGestureListener {privat
- 本文实例为大家分享了RecyclerView实现滑动删除的具体代码,供大家参考,具体内容如下package com.example.demo
- 本文实例讲述了Android编程之消息机制。分享给大家供大家参考,具体如下:一、角色描述1.Looper: 一个线程可以产生一个Looper
- 前言我们了解数组这个概念之前,我们先思考下面几个问题。如果我们需要两个数据,那么直接创建两个变量即可int a;int b;如果需要五个数据
- Android之禁止ViewPager滑动实现实例当我们想在同一个Activity或者Fragment中展示多个页面时往往会用到ViewPa
- 原理和listview一样 ,都是重写Android原生控件Activitypackage com.example.refreshgridv
- 前言#Android 7.0已经发布很久了,虽然市场份额还不是很高,但是流行起来都是早晚的事,所以适配Android 7.0刻不容缓。And