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
0
二维码
打赏
海报
RxJava2学习之五:Map操作符
Map 操作符是对序列的每一项都应用一个函数来变换Observable发射的数据序列。
Map 操作符对原始Observable发射的每一项数据应用一个你选择的函数,执行变换操……
文章目录
关闭
共有 0 条评论