记录一下一篇关于Rxjava2的学习地址:http://www.jianshu.com/c/299d0a51fdd4
笔记:
首先了解下观察者模式:
观察者模式面向的需求是:A对象(观察者)对 B对象(被观察者)的某种变化,需要在B变化的一瞬间做出反应。
程序的观察者模式,观察者不需要时刻盯着被观察者(例如A 不需要每过2m就检查一次B的状态),而是采用 注册 或者称为 订阅 的方式,告诉被观察者:我需要你的某某状态,你要在它变化的时候通知我。
Android开发中典型例子:onClickeListener。对设置onClickeListener来说,View是被观察者,onClickeListener是观察者,二者通过setOnClickListener()方法达成订阅关系。订阅户点击按钮的瞬间,Android Framework 就会将点击事件发送给已经注册的 onClickeListener.取这样被动的观察方式,既省去了反复检索状态的资源消耗,也能够得到最高的反馈速度。
而 RxJava 作为一个工具库,使用的就是通用形式的观察者模式。
RxJava 的观察者模式
RxJava 有四个基本概念:Observable
(可观察者,即被观察者)、 Observer
(观察者)、 subscribe
(订阅)、事件。Observable
和 Observer
通过 subscribe()
方法实现订阅关系,从而 Observable
可以在需要的时候发出事件来通知 Observer
。
首先声明,RxJava以观察者模式为骨架,在2.0中依然如此。
不过此次更新中,出现了两种观察者模式:
Observable(被观察者)/Observer(观察者)
Flowable(被观察者)/Subscriber(观察者)
在android中使用Rxjava2先添加gradle配置:
compile 'io.reactivex.rxjava2:rxjava:2.0.1'
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'