RxJava 是什么?
一个词:异步。
RxJava 在 GitHub 主页上的自我介绍是 "a library for composing asynchronous and event-based programs using observable sequences for the Java VM"(一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库)。这就是 RxJava ,概括得非常精准,然而,对于初学者来说,这太难看懂了。因为它是一个『总结』, 而初学者更需要一个『引言』,其实, RxJava 的本质可以压缩为异步这一个词。说到根上,它就是一个实现异步操作的库,而别的定语都是基于这之上的。
RxJava 的好处?
一个词:简洁。
一个词:简洁。
异步操作很关键的一点是程序的简洁性,因为在调度过程比较复杂的情况下,异步代码经常会既难写也难被读懂。 Android 创造的 AsyncTask 和Handler ,其实都是为了让异步代码更加简 洁。RxJava 的优势也是简洁,但它的简洁的与众不同之处在于,随着程序逻辑变得越来越复杂,它依然能够保持简洁。
Rxjava 使用场景有那些?
1.Sucheduler 线程切换
2.使用debounce做textSearch
3.Retrofit结合RxJava做网络请求框架
4.RxJava代替EventBus进行数据传递 RxBus
5.使用combineLatest 合并最近N个节点
6.使用merge合并两个数据源
7.使用concat和first做缓存
8.使用timer做定时操作
9.使用interval做周期性操作
10.使用throttleFirst防止按钮重复点击
11.使用schedulePeriodically做轮询请求
12.Rxjava 进行数组,list的遍历
13.解决嵌套回调
14.响应式的界面
RxJava 的在android studio中引用?
在主项目的 build.gradle
dependencies {
compile 'io.reactivex:rxjava:x.y.z'
}