11. RxJava-2
2019-07-02 本文已影响0人
努力生活的西鱼
变换
map
Observable.just("images/logo.png")
.map(new Function<String, Bitmap>() {
@Override
public Bitmap apply(String s) throws Exception {
return getBitmapFromPath(s);
}
})
.subscribe(new Observer<Bitmap>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(Bitmap bitmap) {
showBitmap(bitmap);
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
});
可以看到,map()
方法将参数中的String
对象转换成一个Bitmap
对象后返回,而在经过map()
方法后,事件的参数类型也由String
转为了Bitmap
。
这些调用顺序实现的前提条件:在同一个线程内调用
-
doOnNext
是在Observer
的OnNext
方法调用之前调用 -
doAfterNext
是在Observer
的OnNext
方法调用之后调用 -
doOnComplete
是在Observer
的doOnComplete
方法调用之前调用 -
doFinally
是在Observer
的最后调用