RxJava2学习之五:Map操作符

Map 操作符是对序列的每一项都应用一个函数来变换Observable发射的数据序列。

Map 操作符对原始Observable发射的每一项数据应用一个你选择的函数,执行变换操作,然后返回一个发射这些结果的Observable。

Integer转换为String

//Integer转换为String
Observable<Integer> observable = Observable.just(1);

Observable<String> map = observable.map(new Function<Integer, String>() {
    @Override
    public String apply(Integer integer) throws Exception {
        return integer + ": appblog.cn";
    }
});

//订阅参数:Integer
observable.subscribe(new Consumer<Integer>() {
    @Override
    public void accept(Integer integer) throws Exception {
        Log.i(TAG, "accept: " + integer);
    }
});

//订阅参数:String
map.subscribe(new Consumer<String>() {
    @Override
    public void accept(String s) throws Exception {
        Log.i(TAG, "accept: " + s);
    }
});

Integer转换为User对象

//Integer转换为User
Observable.just(1).map(new Function<Integer, User>() {
    @Override
    public User apply(Integer integer) throws Exception {
        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl(SERVER_ADDRESS)
                .addConverterFactory(GsonConverterFactory.create())
                .build();

        api = retrofit.create(Api.class);
        User user = api.getUserInfoWithPath(1).execute().body();
        return user;
    }
}).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Consumer<User>() {
    @Override
    public void accept(User user) throws Exception {
        Toast.makeText(MainActivity.this, user.getUsername(), Toast.LENGTH_SHORT).show();
    }
});

Integer转换为Observable

//Integer转换为Observable
Observable.just(1).map(new Function<Integer, Observable<User>>() {
    @Override
    public Observable<User> apply(Integer integer) throws Exception {

        return null;
    }
});

版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/02/25/rxjava2-learning-5-map-operator/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
海报
RxJava2学习之五:Map操作符
Map 操作符是对序列的每一项都应用一个函数来变换Observable发射的数据序列。 Map 操作符对原始Observable发射的每一项数据应用一个你选择的函数,执行变换操……
<<上一篇
下一篇>>
文章目录
关闭
目 录