变换
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的最后调用









网友评论