库
Rx相关依赖
1  | implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'  | 
Rx相关的库
- https://github.com/ReactiveX/RxJava ——RxJava核心库
 - https://github.com/ReactiveX/RxAndroid ——RxJava在Android中使用的扩展库
 - https://github.com/JakeWharton/RxBinding ——Android控件对RxJava的支持库
 - https://github.com/trello/RxLifecycle ——帮助RxJava在Android中生命周期的控制,避免内存溢出等问题
 - https://github.com/pushtorefresh/storio ——数据库对RxJava的支持
 - https://github.com/f2prateek/rx-preferences ——使SharedPreferences支持 RxJava
 
防止View点击多次
throttleFirst操作符:仅发送指定时间段内的第一个信号
throttleLast操作符:仅发送指定时间段内的第一个信号
Java
1  | //对于button的防抖处理 1秒内只截取第一次的点击事件,还有一个截取最后一次的方法  | 
Kotlin(顺序和上面的Java一样)
1  | RxView.clicks(register_button)  | 
倒计时(用RxBinding)
Java
1  | //按钮实现倒计时,屏蔽点击事件+定时  | 
Kotlin
1  | RxView.clicks(register_button)  | 
倒计时(未用RxBinding)
Java
1  | import java.util.concurrent.TimeUnit;  | 
调用方式(Kotlin)
1  | //倒计时  | 
防止重复调用
Java
1  | RxTextView.textChanges(username_edittext)  | 
延迟执行
Java
1  | Observable.timer(3, TimeUnit.SECONDS)  | 
Kotlin
1  | Observable.timer(100,TimeUnit.MILLISECONDS)  | 
循环执行
Java
1  | //延时3s,每间隔3s,时间单位s  | 
Kotlin
1  | Observable.interval(1,1,TimeUnit.SECONDS)  | 
分线程操作
Java
1  | Observable  |