引言

谈到RxJava,首先得说一说观察者模式。

在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实现事件处理系统。

例如,按钮的点击事件和事件监听就是一种很常见的观察者模式。

Button作为被观察者(Observable),OnClickListener作为观察者(Observer),Button需要注册监听事件,也就是通过setOnclickListener(Subscribe)达成两者的订阅关系。当Button被点击时,Button就会向它的观察者(Button被订阅,所以观察者也相当于订阅者)发送一个广播,随后观察者对事件进行响应。

RxJava利用这种订阅的方式,使得异步操作更加方便,代码逻辑的简洁性大大提高,便于维护,其旨在提供一个更加流畅的应用体验。

总而言之,RxJava是一个利用观察者模式,可方便处理基于事件的异步操作的编程库。

RxJava的使用

RxJava拥有四个概念,Observable (可观察者,即被观察者)、 Observer (观察者)、 subscribe (订阅)、事件。

1.创建Observer

Subscriber(订阅者)与Observer的使用方法一致,实际在内部,Observer也是转为Subscriber来使用的。

2.创建Observable

3.添加Subscribe(订阅)

RxAndroid

AndroidSchedulers

针对Android的线程调度器

AndroidObservable

可用于监听Android的生命周期,通过广播


学习中