Rxjava解析

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创建的对三个方法的不同组织。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值