分享一个大神的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来! 网址:http://www.captainbed.net/yancyang
RxJava是一个非常著名的开源库,是ReactiveX(Reactive Extensions)的一种java实现。
RxJava是一种响应式扩展框架,有很多种实现,如RxAndroid,RsJS,RxSwift,RxRuby,RxCpp,RxGo等。
RxJava的使用通常需要三步走。
1.创建Observable
observable:被观察者。
2.创建Observer
observer:观察者
3.使用subscribe()订阅
subscribe:订阅
subscribe是被观察者与观察者之间的桥梁,这样就能衔接实现链式调用。
/**
* 我想大家都记得,刚接触代码的Hello World
*/
@SuppressLint("CheckResult")
public void helloWorld() {
// 1.创建Observable
Observable hello_world = Observable.just("Hello World");
//3.使用subscribe()订阅并连接Observable和Observer
hello_world.subscribe(consumer);
}
// 2.创建Observer
Consumer consumer = new Consumer() {
@Override
public void accept(String s) throws Exception {
System.out.print(s);
}
};
Just()是RxJava的创建操作符,用于创建一个Observable,此类操作符还有很多,针对不同的Observable。
Consumer书上的意思为消费者。此处的意思就是Observer,单一类型参数
subscribe()有多个重载的方法。
subscribe()
subscribe(onNext)
subscribe(onNext,onError)
subscribe(onNext,onError,onComplete)
subscribe(onNext,onError,onComplete,onSubscribe)
我们经常见到的subscribe()
subscribe
对观察者的排放和通知进行操作
该订阅运算符是一个观察者连接到可观察到的胶水。为了使观察者能够看到Observable发出的项目,或者从Observable接收错误或完成的通知,它必须首先使用此运算符订阅该Observable。
Subscribe运算符的 典型实现可以接受一到三个方法(然后构成观察者),或者它可以接受实现包含这三种方法的接口的对象(有时称为 Observer或Subscriber):
onNext
只要Observable发出一个项目,Observable就会调用此方法。此方法将Observable发出的项作为参数。
onError
Observable调用此方法以指示它无法生成预期数据或遇到其他一些错误。这将停止Observable,它不会进一步调用 onNext或onCompleted。该onError方法将参数作为参数指示导致错误的原因(有时像Exception或Throwable这样的对象,有时候是一个简单的字符串,具体取决于实现)。
onCompleted
如果Observable调用onNext了最后一次,如果它没有遇到任何错误,则会调用此方法。
如果Observable在观察者订阅之前没有开始发射物品,则称其为“冷”Observable; 如果Observable可以在任何时间开始发出物品,则它被称为“热”Observable,并且订户可以在其开始之后的某个时刻开始观察所发射物品的序列,从而错过了在订阅之前发射的任何物品.
参考文档:http://reactivex.io/documentation/operators/subscribe.html
下一章描述:
1.subscribe()
2.“冷”Observable
3.“热”Observable
CSDN就停止更新Rxjava2.x的文章了,如果想要了解更多的,来我的微信订阅号吧。
强烈推荐
分享一个大神的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来! 网址:http://www.captainbed.net/yancyang