rxjava原理 编程rxjava的基本原理
1.RxJava是一个基于观察者模式的响应式编程框架。其主要作用如下:可观察是RxJava描述的事件流,在链调用中非常明确。事件从创建到处理再到被订阅者接收,是由一个又一个可观察对象形成的事件流。
2.每个方法调用都会返回一个新的可观察值给下一步,这是RxJava源代码的基础。也是链式调用,但和我们常见的构建器模式不太一样。每一个操作符,每一次线程切换,每一步都会创建一个新的可观测值,而不是直接处理上一步的可观测值,返回到下一步。
3.ObservableOnSubscribe是此事件流的源。下面我们称之为事件源,一般是自己创建和引入的。当我们创建它时,我们需要重写它的subscribe()方法。为了与Observable中的subscribe()方法相区别,我们将在下面发布的代码中将其重命名为call()。
4.我们有时会使用各种运算符在调用链中进行一些转换。实际上,每个操作符都会重写这样一个call()方法。与我们创建事件源时在这里写的源业务代码相比,这些操作符在这里要做的事情是由RxJava来支配的,一般连接事件流的上下游。这里,我们将准备订阅的数据,并在subscribe()参数中调用ObservableEmitter的onNext()、onCompleted()或onError()来通知订阅者数据准备。
5.观察者是整个事件流的订阅者,也就是说,它会订阅前一个事件被创建和处理后的最终结果。也是我们创造的。我们将重写它的onNext(),onCompleted(),onError()和onSubscribe()。在下面的分析中,我们将简化它,只关注onNext()。在我们创建了观察者之后,我们将使用上述所有步骤的最后一步中生成的可观察对象,调用它的subscribe(),并联系事件源。