RxJava & RxAndroid简单使用(4)
2017-04-11 14:53
537 查看
这里就简单的介绍RxJava的 变换 操作
map()和
flatMap(),RxJava1.0和RxJava2.0 的传进去的参数有点不同,1.0传进去的是一个
Func1,而2.0传进去的是一个
Function。变换 有一个相同点:它也是把传入的参数转化之后返回另一个对象,不同的是:
map()返回的是一个
Object对象,而
flatMap()返回的是
Observable对象
map()
Observable.just(1,2,3) .map(new Function<Integer, String>() { @Override public String apply(Integer integer) throws Exception { return integer+""; } })//map返回的是一个Object .subscribe(new Observer<String>() { @Override public void onSubscribe(Disposable d) { } @Override public void onNext(String value) { Log.d("--->onNext",value); } @Override public void onError(Throwable e) { } @Override public void onComplete() { } });
flatMap()
Observable.just(1,2,3) .flatMap(new Function<Integer, ObservableSource<String>>() { @Override public ObservableSource<String> apply(Integer integer) throws Exception { return Observable.just(integer+""); } })//map返回的是一个Observable .subscribe(new Observer<String>() { @Override public void onSubscribe(Disposable d) { } @Override public void onNext(String value) { Log.d("--->onNext",value); } @Override public void onError(Throwable e) { } @Override public void onComplete() { } });
结合Scheduler切换线程操作
Observable.just(1,2,3)// 在IO线程操作,由 subscribeOn() 指定 .subscribeOn(Schedulers.io()) .observeOn(Schedulers.newThread()) .map(new Function<Integer, String>() { @Override public String apply(Integer integer) throws Exception { return "map1:"+integer; } }) // 在新线程操作,由 observeOn() 指定 .observeOn(Schedulers.io()) .map(new Function<String, String>() { @Override public String apply(String s) throws Exception { return "map2:"+s; } })// 在IO线程操作,由 observeOn() 指定 .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer<String>() { @Override public void onSubscribe(Disposable d) { } @Override public void onNext(String value) { Log.d("--->onNext",value); } @Override public void onError(Throwable e) { } @Override public void onComplete() { } });// 在Android主线程操作,由 observeOn() 指定
相关文章推荐
- RxJava & RxAndroid简单使用(1)
- RxJava & RxAndroid简单使用(3)
- RxJava & RxAndroid简单使用(2)
- Android响应式编程框架---RxJava&RxAndroid2.0使用笔记
- RxAndroid和RxJava的简单使用
- 【按住你的心】——Android开发CheckBox&RadioButton控件的简单使用
- RxAndroid/RxJava之初识RxAndroid简单方法示例
- Android-->RxJava/RxAndroid 入门初体验
- 响应式函数编程_RxJava & RxAndroid
- 使用retrofit框架的网络请求方法使用例子,同时+MVP +rxjava + rxandroid使用
- RxJava 和 RxAndroid 四(RxBinding的使用)
- RxJava&RxAndroid学习
- Android HttpClient && HttpPost简单使用
- rxjava/rxandroid结合lambda的使用
- RxAndroid从零开始学习之一(RxJava的简单Demo)
- 使用RxJava和RxAndroid封装RxBus,实现EventBus功能
- <Android>在Activity被非正常杀死并重建时,使用savedInstanceState进行数据恢复的简单实例
- RxJava的使用基础教学 四 RxAndroid
- Android RxJava/RxAndroid结合Retrofit使用
- Rxjava RxAndroid 使用