您的位置:首页 > 编程语言 > Java开发

Rxjava解析

2016-07-21 14:53 330 查看
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两个接口,我们来看这两个接口的代码,

{

void onCompleted();

void onError(Throwable e);

void onNext(T t);//接收Observable发射的数据

}" data-snippet-id="ext.23b7253c3f8bb16fc703f58eac181fa2" data-snippet-saved="false" data-codota-status="done">[code]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