RxJava与RxAndroid 被观察者的创建

来源:互联网 发布:淘宝如何处理中差评 编辑:程序博客网 时间:2024/05/18 05:20

在RxJava有一个模型, 【观察者 】 【被观察者】

,事件的源头触发时由北观察者触发的


这里的被观察者也就是ObServable类

它的创建方式:

Observable.Create();

当然还有其方式创建:

如Observable.empty()

Observable.errror();

Observable.never()

Observable.just("1","2");

ObServable.from( )

等等


不是说事件源由被观察者Observable发起来的,那就来看看,我们怎么坦诚不良事件吧

Observable有一个方法subscibe()方法:

observable.subscribe(observer)

observable.subscribe(subscriber)

其实observer与subscriber也就是观察者与事件订阅者是同一方面,都是女友的作为

代码关系接口实现

 Subscriber<T> implements Observer<T>
Subsciber扩展了onStart()方法
与是否取消方法
可订阅的判断方法
除了这种链式事件回调,还支持非完整回调
也就是只关注成功,
或者成功和失败
或者成功失败完成三个状态都关注
Action1<String> onNextAction = new Action1<String>() {    // onNext()    @Override    public void call(String s) {        Log.d(tag, s);    }};Action1<Throwable> onErrorAction = new Action1<Throwable>() {    // onError()    @Override    public void call(Throwable throwable) {        // Error handling    }};Action0 onCompletedAction = new Action0() {    // onCompleted()    @Override    public void call() {        Log.d(tag, "completed");    }};// 自动创建 Subscriber ,并使用 onNextAction 来定义 onNext()observable.subscribe(onNextAction);// 自动创建 Subscriber ,并使用 onNextAction 和 onErrorAction 来定义 onNext() 和 onError()observable.subscribe(onNextAction, onErrorAction);// 自动创建 Subscriber ,并使用 onNextAction、 onErrorAction 和 onCompletedAction 来定义 onNext()、 onError() 和 onCompleted()observable.subscribe(onNextAction, onErrorAction, onCompletedAction);
细心的你一定会发现这个三个动作状态的回调方法参数似乎不一致
首先说onNextAction(String s)也就是成功执行方法,成功肯定需要知道事件的情况,有小三,小三的名称总得知道吧
onErrorAction(Throwable throwable) 也就是错误状态执行,有一个异常参数标明错原因
onCompletedAction()并没带参数,想一想RxJava的设计不是针对正常情况设计的,女友也可以有小白脸吧,这样的事件可能同时发生两次吧,带有不确定对象因素
以上的举例并无恶意,只是哪社会现象做比喻,方便我们辛苦而伟大的工程师理解
一起探讨RxJAVA QQ群:476899320

0 0
原创粉丝点击