
版权声明:本文为博主原创文章,转载请说明出处。
一.RxJava是什么
a library for composing asynchronous and event-based programs using observable sequences for the Java VM
一个实现异步操作的库。
二.优点
逻辑简洁
三.实现
RxJava的异步实现是通过一种扩展的观察者模式来实现的。RxJava的四个基本概念:Observer, Observable, Subscribe, 事件。Observable和Observer通过subscribe()方法实现订阅关系,从而Observable可以在需要的时候发出事件来通知Observer。
(1)创建Observer

(2)创建Observable

(3)Subscribe
创建了Observable和Observer之后,再用subscribe()方法将它们联结起来,整条链子就可以工作了。

四.线程控制--schedule
在不指定线程的情况下, RxJava 遵循的是线程不变的原则,即:在哪个线程调用subscribe(),就在哪个线程生产事件;在哪个线程生产事件,就在哪个线程消费事件。如果需要切换线程,就需要用到Scheduler(调度器)。
五.变换
所谓变换,就是将事件序列中的对象或整个序列进行加工处理,转换成不同的事件或事件序列。
六.适用场景和使用方式
(1)与Retrofit的结合
(2)RxBinding
(3)各种异步操作
(4)ReBus
网友评论