截止日前最新版2017-3-15: 
RxJava

compile ‘io.reactivex:rxjava:1.2.’
compile ‘io.reactivex:rxandroid:1.2.’

RxJava2

compile “io.reactivex.rxjava2:rxjava:2.0.”
compile “io.reactivex.rxjava2:rxandroid:2.0.”

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("");
subscriber.onNext("");
//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("");
e.onNext("");
//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("");
e.onNext("");
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() {
}
});

Android-->RxJava2更新体验的更多相关文章

  1. 【原】Android热更新开源项目Tinker源码解析系列之三:so热更新

    本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源文件热更新 A ...

  2. 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新

    [原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:http ...

  3. 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新

    上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...

  4. fir.im Weekly - iOS / Android 动态化更新方案盘点

    动态化更新是 App 开发必然面对的问题.在 iOS 环境下,Apple 开发者们像是" 带着手铐脚镣跳舞" ,相比之下 Android 开发者会轻松一点,有很多相关的开源框架帮助 ...

  5. [转]Android SDK更新 Connection to http://dl-ssl.google.com refused 解决方法

    问题描述 使用SDK Manager更新时出现问题Failed to fetch URL https://dl-ssl.google.com/android/repository/repository ...

  6. Android 数据库管理— — —更新数据

    <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=" ...

  7. Android 增量更新(BSDiff / bspatch)

    Android 增量更新 BSDiff / bspatchhttp://www.daemonology.net/bsdiff/android的代码目录下 \external\bsdiff bsdiff ...

  8. Android异步更新UI的四种方式

    Android异步更新UI的四种方式 2015-09-06 09:23 segmentfault 字号:T | T 大家都知道由于性能要求,android要求只能在UI线程中更新UI,要想在其他线程中 ...

  9. Android SDK更新 Connection to http://dl-ssl.google.com refused 解决方法

    问题描述 使用SDK Manager更新时出现问题Failed to fetch URL https://dl-ssl.google.com/android/repository/repository ...

  10. android开发 更新升级安装到一半自动闪退

    如题:android开发 更新升级安装到一半自动闪退,,,解决办法,如下(红色为我新增的代码) /**     * 安装APK文件     */    private void installApk( ...

随机推荐

  1. R: 缺失值 & 查看变量类型

    ################################################### 问题:缺失值   18.5.2 有关处理缺失值的各种方法有什么?各自的适用场景. 解决方案: n ...

  2. web特点

    1.图形化和易于导航的 Web是非常易于导航的,只需要从一个连接跳到另一个连接,就可以在各页各站点之间进行浏览了. 2.与平台无关 这里所说的平台是指软件的运行环境,可以是Windows.Linux等 ...

  3. 今年暑假不AC--贪心算法

    Problem Description “今年暑假不AC?”“是的.”“那你干什么呢?”“看世界杯呀,笨蛋!”“@#$%^&*%...” 确实如此,世界杯来了,球迷的节日也来了,估计很多ACM ...

  4. 6.(转载)SSRF漏洞挖掘经验

    SSRF 漏洞的寻找 一.从WEB功能上寻找 我们从上面的概述可以看出,SSRF是由于服务端获取其他服务器的相关信息的功能中形成的,因此我们大可以 列举几种在web 应用中常见的从服务端获取其他服务器 ...

  5. es6基础系列三:解构赋值

    解构就是ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值(只能用于数组,对象或迭代器).如果解构不成功,则等于undefined,但不能赋值为undefined和null,因为undefi ...

  6. 微信小程序open-data获取用户的信息样式设置

    效果图 wxml代码 <view class="userinfo"> <!-- 用户头像 --> <view class="userinfo ...

  7. luogu 3806 【模板】点分治

    luogu 3806 [模板]点分治 给定一棵有n个点的树,有m个询问,每个询问树上距离为k的点对是否存在.树的权值最多不超过c.n<=10000,m<=100,c<=1000,K& ...

  8. PureComponent

    前言 React15.3中新加了一个 PureComponent 类,PureComponent 也就是纯组件,取代其前身 PureRenderMixin , PureComponent 是优化 Re ...

  9. vue中比较完美请求的栗子(使用 axios 访问 API)

    vue中比较完美请求的栗子(使用 axios 访问 API) 官网地址:https://vuejs.bootcss.com/v2/cookbook/using-axios-to-consume-api ...

  10. 原生JS轮播-各种效果的极简实现(二)面向对象版本的实现和优化

    之前写了一篇原生JS轮播,不过是非面向对象的,并且也没有添加上自动轮播.这里来写一下如何优化和进阶. 这里简单地介绍一下之前的代码,这是html结构 <body> <div clas ...