尝试在新的项目中,引用一些流行的优秀的开源框架,在简书上偶然发现一篇很棒的写RxJava 2.0的帖子,个人认为非常适合Android开发者,你可以先知道怎么使用,然后再弄清楚里面做了哪些事情,例如可以深入一下实现线程调度的源码.

博主把RxJava中的观察者模式比喻成上游和下游的两根水管,非常形象,容易形成图像记忆.

与之相应的代码:

Observable.create(new ObservableOnSubscribe<Integer>() {
@Override
public void subscribe(ObservableEmitter<Integer> emitter) throws Exception {
emitter.onNext(1);
emitter.onNext(2);
emitter.onNext(3);
emitter.onComplete();
}
}).subscribe(new Observer<Integer>() {
@Override
public void onSubscribe(Disposable d) {
Log.d(TAG, "subscribe");
} @Override
public void onNext(Integer value) {
Log.d(TAG, "" + value);
} @Override
public void onError(Throwable e) {
Log.d(TAG, "error");
} @Override
public void onComplete() {
Log.d(TAG, "complete");
}
});

现在就上链接,分享给大伙,注意其中描述的一些常用操作符,例如map flatmap等,需要熟练掌握.

主要使用到的线程调度就是subscribeOn(Sc)

给初学者的RxJava2.0教程(一)

给初学者的RxJava2.0教程(二)

给初学者的RxJava2.0教程(三)

给初学者的RxJava2.0教程(四)

以上四篇文章,详细阐述了Rxjava2.0的基本使用和一些操作符使用.

后面几篇文章讲述了背压的原理和解决办法,感兴趣的朋友可以自行浏览,个人认为在Android上不会涉及到...

RxJava2.0教程的更多相关文章

  1. RxJava2.0学习笔记2 2018年7月3日 周二

    摘记: 1.map -- 转换  有些服务端的接口设计,会在返回的数据外层包裹一些额外信息,这些信息对于调试很有用,但本地显示是用不到的.使用 map() 可以把外层的格式剥掉,只留下本地会用到的核心 ...

  2. RxJava2.0学习笔记1 2018年3月23日 星期五

    参考博文:给初学者的RxJava2.0教程-简书     源码 :https://github.com/ssseasonnn/RxJava2Demo 1 若是发送多个onError, 则收到第二个on ...

  3. RxJava2.0相关教程

    这可能是最好的RxJava 2.x 教程(完结版) https://www.jianshu.com/p/0cd258eecf60 RxJava2.0——从放弃到入门 https://www.jians ...

  4. Nhibernate 4.0 教程入门

    Nhibernate 4.0 教程 目录 1.      下载Nhibernate 4.04. 1 2.      入门教程... 2 3.      测试项目详解... 3 4.      总结.. ...

  5. Android Studio2.0 教程MAC版 -快捷键篇

    本文转至 Android Studio2.0 教程从入门到精通MAC版 - 提高篇 ( OPEN 开发经验库) 第二篇我们开发了一个Hello World应用,并介绍Android Sutdio的界面 ...

  6. ASP.NET Identity 3.0教程

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:我相信有些人和我一样,已经开始把ASP.NET 5用于产品开发了.不过现在最大的问题是 ...

  7. NPOI 2.0 教程(二):编辑既存的EXCEL文件

    NPOI 2.0 教程(二):编辑既存的EXCEL文件 分类: C#技术 2014-03-11 15:40 993人阅读 评论(3) 收藏 举报 c#excelNPOI 转载请注明出处 http:// ...

  8. android -------- Retrofit + RxJava2.0 + Kotlin + MVP 开发的 WanAndroid 项目

    简介 wanandroid项目基于 Retrofit + RxJava2.0 + Kotlin + MVP 用到的依赖 implementation 'io.reactivex.rxjava2:rxj ...

  9. Android Studio2.0 教程从入门到精通Windows版

    系列教程 Android Studio2.0 教程从入门到精通Windows版 - 安装篇Android Studio2.0 教程从入门到精通Windows版 - 入门篇Android Studio2 ...

随机推荐

  1. javascript 中利用正则匹配 时间

    本文从百度知道回来中粘贴过来,当做一个笔记,因为,说的很详细 最简单的正则 如 : \d{4}-\d{2}-\d{2}但是实际情况却不是那么简单,,要考虑,有效性和闰年等问题..... 对于日期的有效 ...

  2. ECNU 2018 10月月赛 E 盖房子 (bitset + 倍增)

    题目链接  ECNU Monthly 2018.10 Problem E 从开场写到结束…… 显然要把三角形分成上下两部分. 把每一部分分成三部分,以上部分为例. 上面和右边,以及左下角的正方形. 也 ...

  3. Linux命令之passwd、chpasswd

    (1).命令passed passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inacti ...

  4. Flip Game II -- LeetCode

    You are playing the following Flip Game with your friend: Given a string that contains only these tw ...

  5. Android如何获取屏幕的分辨

    在实际的项目中,我们经常要得到当前屏幕的分辨率,进行机型适配,得到分辨率其实很简单,主要有两种方法. 方法一: Display mDisplay = getWindowManager().getDef ...

  6. Spring+Spring MVC+MyBatis整合

    一.准备工作    1.1导入所需jar包 1.2数据库 CREATE TABLE `t_customer` ( `id` ) NOT NULL AUTO_INCREMENT, `username` ...

  7. [Andrew Stankevich's Contest#21] Lempel-Ziv Compression

    Time Limit: 20000/10000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others)     Special Judge ...

  8. php读取超大文件fseek

    function readMaxFile($fp , $start = 0) { $tag = "\n"; $i = 0; $content = ''; while($i < ...

  9. The Responsive jQuery Content Slider

    jquery slider 效果 http://bxslider.com/ http://www.cnblogs.com/lhb25/archive/2012/08/13/jquery-image-e ...

  10. Linux下Apache、PHP、MySQL默认安装路径

    Apache: 如果采用RPM包安装,安装路径应在 /etc/httpd 目录下 Apache配置文件:/etc/httpd/conf/httpd.conf Apache模块路径:/usr/sbin/ ...