android中Rxandroid框架使用示例
来源:互联网 发布:阿尔法淘宝怎么样 编辑:程序博客网 时间:2024/05/22 00:32
public void onClick(View view) { switch (view.getId()) { case R.id.main_btn_a: Observable<String> observablea = Observable.create(Subscriber -> Subscriber.onNext("atest"));// Observable.create(new Observable.OnSubscribe<String>() {// @Override// public void call(Subscriber<? super String> subscriber) {//// }// }); observablea.observeOn(AndroidSchedulers.mainThread()); observablea.subscribeOn(Schedulers.newThread()); observablea.subscribe(new Observer<String>() { @Override public void onNext(String s) { Log.i(TAG, "onNext------" + s); } @Override public void onCompleted() { Log.i(TAG, "onCompleted------"); } @Override public void onError(Throwable throwable) { } }); break; case R.id.main_btn_b://参数 一个一个地处理 Observable<String> observableb = Observable.from(arr); //一下方法 需要连续调用,否则影响方法调用(原因:方法返回了新的对象) observableb.observeOn(AndroidSchedulers.mainThread()). subscribeOn(Schedulers.newThread()). map(new Func1<String, String>() { //map映射,对数据转换 @Override public String call(String s) { Log.i(TAG, "qqq----" + s); return s + "b"; } }). subscribe(s -> toast(s)); break; case R.id.main_btn_c://观察者 只调用onNext()方法 Observable<String> observablec = Observable.just("c1", "c2"); observablec.observeOn(AndroidSchedulers.mainThread()). subscribeOn(Schedulers.newThread()). flatMap(new Func1<String, Observable<String>>() { //flatmap 映射,把输入数组映射多个值, 依次分发 //reduce 简化,和flatmap相反,把多个数组的值, 合成一个数据 @Override public Observable<String> call(String s) { return Observable.just(s); // return null; } }) .reduce(new Func2<String, String, String>() { @Override public String call(String s, String s2) { return s + s2; } }) .subscribe(this::toast); break; } }
配置
dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:25.1.0' testCompile 'junit:junit:4.12' //------------- compile 'io.reactivex:rxandroid:1.2.1' compile 'io.reactivex:rxjava:1.1.6'}
总结
//flatmap 映射,把输入数组映射多个值, 依次分发//reduce 简化,和flatmap相反,把多个数组的值, 合成一个数据//多个 subscribe 按照单个subscribe顺序 的基础上调用 onNext(),onCompled()//Observable 除了creat,from,just方法 之外的map,flatMap,reduce,subscribe等连续调用
0 0
- android中Rxandroid框架使用示例
- 在android中使用rxjava rxAndroid
- RxJava笔记--02(Android中使用RxAndroid)
- Android RxAndroid使用
- Android RxAndroid使用
- Android 平台应用使用RxAndroid
- android使用retrofit框架示例
- Android应用架构之Retrofit、RxAndroid使用
- Android RxJava/RxAndroid结合Retrofit使用
- [Android 知识点] RxAndroid的使用(一)
- [Android 知识点] RxAndroid的使用(二)
- [Android 知识点] RxAndroid的使用(三)
- Android--RxAndroid
- RxAndroid 的示例
- Android中MediaStore使用示例
- Android中MediaStore使用示例 .
- Android中MediaStore使用示例 .
- Android中SQLiteOpenHelper使用示例
- 模块加载常见之错误及策略
- java的守护线程与非守护线程(转)
- 单片机学习总结1
- 中国风电集团 --------网上审批系统
- Android 驱动开发1
- android中Rxandroid框架使用示例
- SpringBoot入门之整合mybatis
- 课程设计题1——小学生数学考试系统
- GC的引用计数
- 采购订单中的容差项目解释
- MYSQL UTF8 Select 按中文排序
- 最小的K个数
- java面试_JVM
- Android沉浸式通知栏总结下——studio