关于rxandroid分为以下几个步骤
1,加入包:
implementation ‘io.reactivex.rxjava2:rxandroid:2.0.1’
repositories {
google()
jcenter()
maven { url ‘https://oss.jfrog.org/libs-snapshot’ }
}
2,定义观察者//Observer和Suberscriber一样,指示多了一个方法
Subscriber subscriber=new Subscriber(){
@Override
public void onSubscribe(Subscription s) {
}
@Override
public void onNext(String s) {
}
@Override
public void onError(Throwable t) {
}
@Override
public void onComplete() {
}
};
3,定义被观察者
Observable observable = Observable.create(new Observable.OnSubscribe() {
@Override
public void call(Subscriber<? super String> subscriber) {
subscriber.onNext(“Hello”);
subscriber.onNext(“Hi”);
subscriber.onNext(“Aloha”);
subscriber.onCompleted();
}
});
4,被观察者订阅观察者
observable.subscribe(observe);
简单看就三步:
create方法是Observable的静态方法,用于构造一个Observable对象,如果说用于单纯的构造初始事件的话,除了create以外,还有许多方式可以构造观察者
interval & intervalRange & just & fromIterable & fromArray & timer
他们与create的差异主要在于,create创建的事件需要执行过程,而这些方法创建的事件显示是现成的,不需要额外操作,一旦与观察者关联后即可发送事件。
需要注意的是:关于rxandroid中提到的链式编程,其实是在Observerable中除了.create方法外,可以.subscribeOn()和observeOn等
具体案例:https://blog.csdn.net/javonlee/article/details/77621156
just举例:
Observable.just(“hello”,“hello1”,“hello2”)
.subscribeon(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Action1()){
@overide
public void call(String s){
Log.i(“jikexueyuan”,s)
}
}
rx2的详细讲解:
https://www.jianshu.com/p/0cd258eecf60
https://www.jianshu.com/p/19cac3c5b106