首先感谢大神之前写的一篇文章rxjava1.x的入门文章扔物线
我入门的时候已经是2.x的版本了。Flowable已经替代Observable,Flowable多了一个"背压"参数,其实我也没怎么明白这个意思。
Flowable.create(newFlowableOnSubscribe() {
@Override
public voidsubscribe(@NonNullFlowableEmitter e)throwsException {
Thread.sleep(2000);
e.onNext("onNext");
Thread.sleep(3000);
e.onComplete();
}
},BackpressureStrategy.BUFFER)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(baseSubscriber);
和1.x版本的区别二是
SubscriberbaseSubscriber=newSubscriber() {
@Override
public voidonSubscribe(Subscription s) {
//初始化后再执行
progressBar.setVisibility(View.VISIBLE);
//一定要调此方法,否则onNext及其他方法都不执行
s.request(Long.MAX_VALUE);
}
@Override
public voidonNext(String s) {
baseBtn.setText(s);
}
@Override
public voidonError(Throwable t) {
baseBtn.setText(t.getMessage());
}
@Override
public voidonComplete() {
baseBtn.setText("onComplete");
progressBar.setVisibility(View.GONE);
}
};
其他的地方的使用暂时没有大变动。后期深入学习再更
网友评论