Rxjava解析
来源:互联网 发布:linux 编译打包war 编辑:程序博客网 时间:2024/04/27 22:33
2016年10月17日更新:
RxJava实战技巧大全
2016年8月16日更新:
rxjava操作符
android Rxjava学习笔记
以下两篇是实践运用篇,看完这两篇就够了:
给 Android 开发者的 RxJava 详解
RxJava 与 Retrofit 结合的最佳实践
配合使用的插件:Rxlifecycle,RxBinding
Rxlifecycle使用详解,解决RxJava内存泄露问题
详细解析 RxAndroid 的使用方式
以下是基础篇:
Rxjava的api文档
ReactiveX的中文文档
RxJava tips
Rxjava的api文档和ReactiveX的中文文档包含了Rxjava的所有用法和文档解释,非常有用。
1。要想看懂理清响应式编程的核心,必须理解以下三个概念的区别。
Observable, Observer, Subscriber
Observable 可观察对象,被观察的数据源对象,在Rx中定义为更强大的Iterable,在观察者模式中是被观察的对象,一旦数据产生或发生变化,会通过某种方式通知观察者或订阅者
Observer 观察者对象,观察监听Observable变化的对象,监听Observable发射的数据并做出响应,Subscriber是它的一个特殊实现
- Subscriber 订阅者,Observer观察者的一个特殊实现,比Observer附加了订阅和取消订阅的动作功能,文档上如下描述,
public abstract class Subscriber
extends java.lang.Object
implements Observer, Subscription
Provides a mechanism for receiving push-based notifications from Observables, and permits manual unsubscribing from these Observables.
After a Subscriber calls an Observable’s subscribe method, the Observable calls the Subscriber’s Observer.onNext(T) method to emit items. A well-behaved Observable will call a Subscriber’s Observer.onCompleted() method exactly once or the Subscriber’s Observer.onError(java.lang.Throwable) method exactly once.
它继承了Observer和Subscription两个接口,我们来看这两个接口的代码,
public interface Observer<T> { void onCompleted(); void onError(Throwable e); void onNext(T t);//接收Observable发射的数据}
public interface Subscription { void unsubscribe();//取消订阅 boolean isUnsubscribed();//是否订阅}
2。 Suscribe
了解了主要的生产者和消费者(即被观察者/广播者和观察者/订阅者),我们再来看讲他们绑定在一起的操作符Suscribe.
Subscribe详细介绍
Subscribe操作符是连接观察者和Observable的胶水。一个观察者要想看到Observable发射的数据项,或者想要从Observable获取错误和完成通知,它首先必须使用这个操作符订阅那个Observable,将它们绑定在一起。
Subscribe操作符的一般实现可能会接受一到三个方法(然后由观察者组合它们),或者接受一个实现了包含这三个方法的接口的对象(有时叫做Observer或Subscriber),这三个方法即:
void onCompleted(); void onError(Throwable e); void onNext(T t);
3。Observable的创建
Observable的create:将Observer或Subcriber的三个方法进行组织,其他just,from等操作符都是create创建的对三个方法的不同组织。
- RXJava 解析
- Rxjava解析
- RXjava observeOn subscribeOn 解析
- RxJava详细解析
- Rxjava简单解析
- RxJava的解析,帮助你了解RxJava
- RxJava初级解析(一)
- RxJava+Retrofit2实现JSON解析
- RxJava+Retrofit2实现XML解析
- 对rxjava的详细解析
- RxJava之map源码解析
- Rxjava解析之二---源码
- RxJava+Retrofit2实现JSON解析
- RxJava数据转化源码解析
- RxJava线程调度源码解析
- RxJava之Subject分类解析
- rxjava异步框架源码解析
- RxJava中map方法的解析
- 暑期dp46道(4)
- c++学习笔记(四):函数按指针调用和按引用调用
- 一篇通俗易懂的讲解OpenGL ES的文章,opengles
- [c#笔记]Winform TextBox中只能输入数字的几种常用方法(C#)
- linux中的/dev/fd详解(linux3.2.0)
- Rxjava解析
- Linux上几个可以影响到服务器并发处理性能的系统参数
- Android中的AsnycTask
- ECMAScript 6 扫盲
- LDA
- 欢迎使用CSDN-markdown编辑器
- POJ 1995 Raising Modulo Numbers
- android 基础 ---> Parcelable 使用
- Emacs24的自动折行设置