RxJava与RxAndroid 操作符
2015-12-25 11:23
507 查看
本篇博客将会了解RxJava的操作符,主要体现在数据的展示或者传递方面
打印数组:
结果:
12-25 03:27:52.341 13309-13309/com.rxandroid.test1 D/----->: onNext():data:1 线程main
12-25 03:27:52.341 13309-13309/com.rxandroid.test1 D/----->: onNext():data:2 线程main
12-25 03:27:52.341 13309-13309/com.rxandroid.test1 D/----->: onNext():data:3 线程main
12-25 03:27:52.341 13309-13309/com.rxandroid.test1 D/----->: onCompleted():main
简洁打印多个对象:
结果:
12-25 03:36:57.011 27949-27949/com.rxandroid.test1 D/----->: onNext():main
12-25 03:36:57.011 27949-27949/com.rxandroid.test1 D/----->: onNext():main
12-25 03:36:57.011 27949-27949/com.rxandroid.test1 D/----->: onNext():main
12-25 03:36:57.011 27949-27949/com.rxandroid.test1 D/----->: onCompleted():main
打印集合:
打印结果:
12-25 03:39:51.001 27949-27949/com.rxandroid.test1 D/----->: onNext():data:1 线程main
12-25 03:39:51.001 27949-27949/com.rxandroid.test1 D/----->: onNext():data:2 线程main
12-25 03:39:51.001 27949-27949/com.rxandroid.test1 D/----->: onNext():data:3 线程main
12-25 03:39:51.001 27949-27949/com.rxandroid.test1 D/----->: onCompleted():main
打印观察者集合:
打印结果:
12-25 03:41:19.551 27949-27949/com.rxandroid.test1 D/----->: onNext():data:4 线程main
12-25 03:41:19.551 27949-27949/com.rxandroid.test1 D/----->: onNext():data:5 线程main
12-25 03:41:19.551 27949-27949/com.rxandroid.test1 D/----->: onNext():data:6 线程main
12-25 03:41:19.551 27949-27949/com.rxandroid.test1 D/----->: onCompleted():main
打印合并Observable:
打印结果:
12-25 03:42:49.311 27949-27949/com.rxandroid.test1 D/----->: onNext():data:1 线程main
12-25 03:42:49.311 27949-27949/com.rxandroid.test1 D/----->: onNext():data:2 线程main
12-25 03:42:49.311 27949-27949/com.rxandroid.test1 D/----->: onNext():data:3 线程main
12-25 03:42:49.311 27949-27949/com.rxandroid.test1 D/----->: onNext():data:4 线程main
12-25 03:42:49.311 27949-27949/com.rxandroid.test1 D/----->: onNext():data:5 线程main
12-25 03:42:49.311 27949-27949/com.rxandroid.test1 D/----->: onNext():data:6 线程main
12-25 03:42:49.311 27949-27949/com.rxandroid.test1 D/----->: onCompleted():main
新技术交流群:476899320
打印数组:
String[] data = {"1", "2", "3"}; Observable.from(data).subscribe(new Observer<String>() { @Override public void onCompleted() { LogUtils.d("onCompleted():" + Thread.currentThread().getName()); } @Override public void onError(Throwable e) { LogUtils.d("onError():" + Thread.currentThread().getName()); } @Override public void onNext(String s) { LogUtils.d("onNext():data:" + s + " 线程" + Thread.currentThread().getName()); } });
结果:
12-25 03:27:52.341 13309-13309/com.rxandroid.test1 D/----->: onNext():data:1 线程main
12-25 03:27:52.341 13309-13309/com.rxandroid.test1 D/----->: onNext():data:2 线程main
12-25 03:27:52.341 13309-13309/com.rxandroid.test1 D/----->: onNext():data:3 线程main
12-25 03:27:52.341 13309-13309/com.rxandroid.test1 D/----->: onCompleted():main
简洁打印多个对象:
Observable.just("1", "2", "3").subscribe(new Observer<String>() { @Override public void onCompleted() { LogUtils.d("onCompleted():" + Thread.currentThread().getName()); } @Override public void onError(Throwable e) { LogUtils.d("onError():" + Thread.currentThread().getName()); } @Override public void onNext(String s) { LogUtils.d("onNext():" + Thread.currentThread().getName()); } });
结果:
12-25 03:36:57.011 27949-27949/com.rxandroid.test1 D/----->: onNext():main
12-25 03:36:57.011 27949-27949/com.rxandroid.test1 D/----->: onNext():main
12-25 03:36:57.011 27949-27949/com.rxandroid.test1 D/----->: onNext():main
12-25 03:36:57.011 27949-27949/com.rxandroid.test1 D/----->: onCompleted():main
打印集合:
List<String> list = new ArrayList<String>(); list.add("1"); list.add("2"); list.add("3"); Observable.from(list).subscribe(new Observer() { @Override public void onCompleted() { LogUtils.d("onCompleted():" + Thread.currentThread().getName()); } @Override public void onError(Throwable e) { LogUtils.d("onError():" + Thread.currentThread().getName()); } @Override public void onNext(Object o) { LogUtils.d("onNext():data:" + o + " 线程" + Thread.currentThread().getName()); } });
打印结果:
12-25 03:39:51.001 27949-27949/com.rxandroid.test1 D/----->: onNext():data:1 线程main
12-25 03:39:51.001 27949-27949/com.rxandroid.test1 D/----->: onNext():data:2 线程main
12-25 03:39:51.001 27949-27949/com.rxandroid.test1 D/----->: onNext():data:3 线程main
12-25 03:39:51.001 27949-27949/com.rxandroid.test1 D/----->: onCompleted():main
打印观察者集合:
List<Observable<String>> data = new ArrayList<Observable<String>>(); // data.add(Observable.just("1","2","3")); data.add(Observable.just("4", "5", "6")); // an Iterable of Observable sources competing to react first Observable.amb(data).subscribe(new Observer<String>() { @Override public void onCompleted() { LogUtils.d("onCompleted():" + Thread.currentThread().getName()); } @Override public void onError(Throwable e) { LogUtils.d("onError():" + Thread.currentThread().getName()); } @Override public void onNext(String o) { LogUtils.d("onNext():data:" + o + " 线程" + Thread.currentThread().getName()); } });
打印结果:
12-25 03:41:19.551 27949-27949/com.rxandroid.test1 D/----->: onNext():data:4 线程main
12-25 03:41:19.551 27949-27949/com.rxandroid.test1 D/----->: onNext():data:5 线程main
12-25 03:41:19.551 27949-27949/com.rxandroid.test1 D/----->: onNext():data:6 线程main
12-25 03:41:19.551 27949-27949/com.rxandroid.test1 D/----->: onCompleted():main
打印合并Observable:
//an Observable to be concatenated 合并两个或者多个 Observable.concat(Observable.just("1", "2", "3"), Observable.just("4", "5", "6")).subscribe(new Observer<String>() { @Override public void onCompleted() { LogUtils.d("onCompleted():" + Thread.currentThread().getName()); } @Override public void onError(Throwable e) { LogUtils.d("onError():" + Thread.currentThread().getName()); } @Override public void onNext(String o) { LogUtils.d("onNext():data:" + o + " 线程" + Thread.currentThread().getName()); } }); }
打印结果:
12-25 03:42:49.311 27949-27949/com.rxandroid.test1 D/----->: onNext():data:1 线程main
12-25 03:42:49.311 27949-27949/com.rxandroid.test1 D/----->: onNext():data:2 线程main
12-25 03:42:49.311 27949-27949/com.rxandroid.test1 D/----->: onNext():data:3 线程main
12-25 03:42:49.311 27949-27949/com.rxandroid.test1 D/----->: onNext():data:4 线程main
12-25 03:42:49.311 27949-27949/com.rxandroid.test1 D/----->: onNext():data:5 线程main
12-25 03:42:49.311 27949-27949/com.rxandroid.test1 D/----->: onNext():data:6 线程main
12-25 03:42:49.311 27949-27949/com.rxandroid.test1 D/----->: onCompleted():main
新技术交流群:476899320
相关文章推荐
- iOS、Android、java服务端 DES+RSA安全传输统一实现
- (小笔记) android 直接拨打电话和进入拨打电话界面
- 【转】Android Camera(五)使用Camera功能 AREA的理解
- android 的injustdecodebounds
- Android中的Context
- ViewPager实现微博引导页功能
- Android 数据库ORM框架(一)
- Android Canvas drawText()文字居中
- Android动画效果translate、scale、alpha、rotate详解
- AndroidStudio 保存当前工作状态失败,重启后恢复为初始状态的解决方案
- 细说Android事件传递机制(dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent)
- Windows下AndroidStudio 中使用Git(AndroidStudio项目于GitHub关联)
- 我的Android进阶之旅:经典的大牛博客推荐
- Android Studio的Gradle文件方法说明
- android 滚轮
- android短信加密(发送加密短信,解密本地短信)
- android 5.0 获取屏幕状态方式
- android-Ultra-Pull-To-Refresh-下拉自定义显示动画1
- 【转】android Camera 中添加一种场景模式
- AndroidStudio项目目录结构介绍