Android-->RxJava2更新体验
来源:互联网 发布:一般淘宝客服上班时间 编辑:程序博客网 时间:2024/06/07 03:53
截止日前最新版2017-3-15: RxJava
compile ‘io.reactivex:rxjava:1.2.7’
compile ‘io.reactivex:rxandroid:1.2.1’
RxJava2
compile “io.reactivex.rxjava2:rxjava:2.0.7”
compile “io.reactivex.rxjava2:rxandroid:2.0.1”
1:create操作改变 Rxjava
CompositeSubscription compositeSubscription = new CompositeSubscription();Observable<String> observable = Observable.create(new Observable.OnSubscribe<String>() { @Override public void call(Subscriber<? super String> subscriber) { subscriber.onNext("1"); subscriber.onNext("2"); //e.onComplete(); subscriber.onError(new NullPointerException()); }});Subscription subscribe = observable.subscribe(new Observer<String>() { @Override public void onCompleted() { } @Override public void onError(Throwable e) { } @Override public void onNext(String s) { }});//取消订阅subscribe.unsubscribe();//或者compositeSubscription.add(subscribe);compositeSubscription.unsubscribe();
RxJava2
final CompositeDisposable compositeDisposable = new CompositeDisposable();Observable<String> observable = Observable.create(new ObservableOnSubscribe<String>() { @Override public void subscribe(ObservableEmitter<String> e) throws Exception { e.onNext("1"); e.onNext("2"); //e.onComplete(); e.onError(new NullPointerException()); }});//subscribe方法返回void类型observable.subscribe(new Observer<String>() { @Override public void onSubscribe(Disposable d) { compositeDisposable.add(d); } @Override public void onNext(String s) { } @Override public void onError(Throwable e) { } @Override public void onComplete() { }});compositeDisposable.dispose();
2:新增Flowable
Flowable<String> stringFlowable = Flowable .create(new FlowableOnSubscribe<String>() { @Override public void subscribe(FlowableEmitter<String> e) throws Exception { e.onNext("1"); e.onNext("2"); e.onComplete(); //e.onError(new NullPointerException()); } }, BackpressureStrategy.ERROR) .subscribeOn(Schedulers.newThread()) .observeOn(Schedulers.newThread());stringFlowable.subscribe(new Subscriber<String>() { @Override public void onSubscribe(Subscription s) { //s.request(1); // 参数表示接受多少次onNext回调. // 当onNext回调次数和这个参数不一致时, 则通过BackpressureStrategy.ERROR参数决定之后的处理 // 不调用等价于request(0). // 典型的错误MissingBackpressureException异常 // 注意: Flowable请尽量在异步线程使用,否则很容易出现MissingBackpressureException异常 } @Override public void onNext(String s) { } @Override public void onError(Throwable t) { } @Override public void onComplete() { }});
更详细的解释移步至:http://www.jianshu.com/p/9b1304435564
至此: 文章就结束了,如有疑问: QQ群:274306954 欢迎您的加入.
2 0
- Android-->RxJava2更新体验
- Android RxJava2的更新
- Android Rxjava2
- RxJava2.0之Android
- android RXJava2.0(一)
- Android进阶:RxJava2
- android项目初体验(持续更新)
- Rxjava2
- RXJava2
- RxJava2
- Rxjava2
- Rxjava2
- android Retrofit2.0 RxJava2.0
- android RxJava2版本使用简介
- [Android开发] Rxjava2之路: Rxbinding2(支持基于Rxjava2)
- MD风格Mvp—RxJava2应用,MVP初体验
- 体验极速Android Sdk更新与下载
- 熟练使用Android Studio,亲自体验,持续更新。
- android studio 配置Java8支持Lambda表达式
- Swift3.0刷LeetCote笔记:Add Two Numbers
- 程序运行些writeinfo
- 【大数据干货】数据进入阿里云数加-分析型数据库AnalyticDB(原ADS)的N种方法
- 软件测试-笔记
- Android-->RxJava2更新体验
- leetcode 135
- 遍历Map的四种方式
- Node.js开发者必须熟悉的四个JavaScript概念
- Mybatis 3学习笔记(一)
- 特征值
- 防止高并发的安全接口设计
- ./ggsci: error while loading shared libraries: libnnz11.so: cannot open shared object file: No such
- 高可用的大数据计算平台如何持续发布和演进