RxJava(RxAndroid)(二)(笔记)
来源:互联网 发布:良辰好景知几何书包网 编辑:程序博客网 时间:2024/06/05 08:25
answersList = new ArrayList<>(); answersList.add("a"); answersList.add("b"); answersList.add("c"); answersList.add("d"); answersList.add("e"); answersList.add("f"); answersList.add("g"); answersList.add("h"); //这里采用循环的方法将集合的内容给遍历出来,但出现了想对单个内容操作的麻烦// query("hello world").subscribe(new Action1<List<String>>() {// @Override// public void call(List<String> strings) {// StringBuffer stringBuffer = new StringBuffer();// for(String string : strings){// stringBuffer.append(string + "\n");// }// tv1.setText(stringBuffer);// }// }); //跟上方的相比是把循环换成用from来代替,from这个方法是将一个集合的元素一个个返回输出给Subscriber //这样我们可以在最后面的Subscriber里对每个内容进行操作// query("hello world").subscribe(new Action1<List<String>>() {// @Override// public void call(List<String> strings) {// final StringBuffer stringBuffer = new StringBuffer(); // Observable.from(strings).subscribe(new Action1<String>() {// @Override// public void call(String s) {// stringBuffer.append(s + "\n");// tv1.setText(stringBuffer );// }// });// }// }); //从上面改写的from里可以看到还是出现了Subscription的嵌套,一共有两个scuriber,接下来使用一个叫flatMap的方法 //通过flatmap将这个集合的内容一个个返回,然后在最下面的Subscriber里就可以对每个内容进行操作 //跟上一步相比都实现了在最后面的Subscriber里可以对每个内容做操作,但相比上一个就少了嵌套的出现,并且代码也简洁了些 query("hello world").flatMap(new Func1<List<String>, Observable<String>>() { @Override public Observable<String> call(List<String> strings) { return Observable.from(strings); } }).subscribe(new Action1<String>() { StringBuffer stringBuffer = new StringBuffer(); @Override public void call(String s) { stringBuffer.append(s + "\n"); tv1.setText(stringBuffer); } });
public Observable<List<String>> query(String question){ //模拟输入一个关键词返回一个结果列表的操作,在这里这个question没有起作用,只是一个模拟而已 return Observable.create(new Observable.OnSubscribe<List<String>>() { @Override public void call(Subscriber<? super List<String>> subscriber) { subscriber.onNext(answersList); subscriber.onCompleted(); } }); }
0 0
- RxJava(RxAndroid)(二)(笔记)
- RxJava(RxAndroid)(一)(笔记)
- RxJava 和 RxAndroid (一)
- RxJava 和 RxAndroid 二(操作符的使用)
- RxJava 和 RxAndroid 二(操作符的使用)
- RxJava 和 RxAndroid 二(操作符的使用)
- RxJava 和 RxAndroid 二(操作符的使用)
- RxJava 和 RxAndroid 二(操作符的使用)
- Rxjava和RxAndroid系列(一)
- RxJava Android(RxAndroid) 开发全家桶
- RxJava Android(RxAndroid) 开发全家桶
- RxJava(RxAndroid)线程切换机制
- RxJava 和 RxAndroid 五(线程调度)
- RxJava 和 RxAndroid 五(线程调度)
- RxJava Android(RxAndroid) 开发全家桶
- RxJava 和 RxAndroid 五(线程调度)
- RxJava 和 RxAndroid 五(线程调度)
- RxJava 和 RxAndroid 五(线程调度)
- TestNG系列-第二章 注解介绍
- Retrofit2源码解析(三)添加 RxJavaCallAdapterFactory适配器
- Python写的AES文件加密模块
- stuts2接收json返回json案例
- Oracle 删除一个用户下的所有表、触发器、约束
- RxJava(RxAndroid)(二)(笔记)
- sea.js的模块化开发
- TestNG系列-第三章 testNG运行方法
- 关于oracle数据库维护数据的完整性--约束
- 第十一周--项目2 - 用二叉树求解代数表达式
- pycharm_设置主题
- 数据上传、下载
- MyEclipse中无法build path,提示no actions available
- data,the member of Mat