RxJava2笔记(4)—操作符.map()

来源:互联网 发布:富春山居图有多烂 知乎 编辑:程序博客网 时间:2024/05/18 13:23

What:

map()操作符,它会把原来的Observable对象转换成另一个Observable对象,然后将(Observable——>Observer)传输的数据类型进行改变,以便Observer获得想要的数据形式,说白了就是将数据类型处理这个操作从Observer提前到了Observable

接下来我将举一个例子,从网络上获取到一个数据实体ResponseData,然后将这个数据ResponseData的类型转换为一个String,准备调它的toString方法:

Example:

    String url = "v2/book/1003078";        Observable<String> mapObservable = retrofitPostApi.getPathDoubadataRx(url).map(new Function<ResponseData, String>() {            @Override            public String apply(ResponseData responseData) throws Exception {                return responseData.toString();            }        });        mapObservable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer<String>() {            @Override            public void onSubscribe(Disposable d) {            }            @Override            public void onNext(String value) {                Toast.makeText(MainActivity.this, value, Toast.LENGTH_SHORT).show();            }            @Override            public void onError(Throwable e) {            }            @Override            public void onComplete() {            }        });

结果:

Code:

https://github.com/zj614android/picsLink/blob/master/RxMapDemoCode.java

原创粉丝点击