博客首发地址: http://ownwell.github.io/

概述

RxJava是作为Android开发中的新贵, 越来越多的人参与到RxJava的拓展和使用上,如JakeWharton参与了多个RxJava项目。国内呢,一大批(如扔物线、小邓子、代码家等)对RxJava推广,你要不没听过它,你都觉得不好意思,因为它太火了。

今天我们就是要踩在这些过来人的肩膀上,来学习RxJava,这个主要是针对不熟悉RxJava的,若是已经很熟练使用了,这篇可能就不太适合你。

大概是在14年底,我在一个创业公司,从yahoo来的曾Sir就给我们分享RxJava但是当时资料甚少,加上项目赶紧,就大概知道了RxJava这种响应式处理数据太好了,但是使用起来需要自己写一堆配套的库,所以就搁置了。但是随着Retrofit 2.0、RxVolley等这些好用的第三方RxJava拓展库 —-用一次就觉得爽到爆—我决定在公司的项目中使用RxJava了。

RxJava是一个针对JVM通用的工具库,在Github上你会发现一堆的扩展库,在简书、CSDN等技术论坛上,你会发现有N多篇RxJava的文章,对于一个新手或者进阶的开发者,我就以过来人的身份为大家列出一些入门的文章和项目,本人不会有什么实质性的介绍或者解释,会给大家列出一系列的文章和书,一步步给大家知道。

什么是RxJava以及RxJava能干什么

在Flipboard工作的扔物线同学用通俗的描述为我们讲述什么是Rxjava,为什么要用RxJava — 给 Android 开发者的 RxJava 详解。很喜欢他的文章风格,图文都是让你过目不忘。还是建议你直接跳转去看看扔物线的文章。

该怎么用RxJava

其实我以前是先看的大头鬼翻译的文章,觉得翻译的很好(英文的,看着多多少少有时不太理解),深入浅出告诉你怎么使用RxJava。

  1. 深入浅出RxJava(一:基础篇)
  2. 深入浅出RxJava(二:操作符)
  3. 深入浅出RxJava三–响应式的好处
  4. 深入浅出RxJava四-在Android中使用响应式编程

看完了这些你或许对RxJava有个大概的印象和使用常见的操作符,那你可以试试用RxJava和RxAndroid来一个简单的项目。
MovieListApp没事可以看看这个项目,将请求的服务器远程数据请求后,通过Observable.just()后,可以处理这些数据,通过map转换、onNext()里缓存,线程切换、最后通过subcriber交给我们需要展示的UI组件上。

是不是有点意思了。
还有一个Demo。

等等,我感觉我还是不熟练啊。没关系,我是雷锋,继续给你发放福利。

  1. ReactiveX文档中文翻译

  2. 各种操作符的示例图,满足你的视觉。

  3. 泡网相关的RxJava总结,泡网里决定是都良心博文。

拓展库

RxJava的拓展库太多了,如JakeWharton参与或者主导的项目就参与了RxBinding、RxAndroid等项目,现在越来越多的人参与RxJava的推广中。

我就项目中可能会用到的一些库给大家推荐几款。

Retrofit

一个懒人必备神器,可以简化我们对网络请求的封装,用它可能也有一些问题,需要你再开发中解决。建议使用Retrofit 2.0。

  1. Retrofit 2.0:有史以来最大的改进

  2. RxJava 与 Retrofit 结合的最佳实践 Gank.io的匠心写作系列文章。

  3. Retrofit的使用手册,必备手册。

RxBinding

JakeWharton大神操刀项目,主要是各种组件绑定,将Onclick、TextWatcher等时间作为一个事件源,通过RxJava可以改善用户的交互体验,避免了快速点击会出现两个点击事件。另外,还支持kotlin。

RxLifecycle

用来严格控制由于发布了一个订阅后,由于没有及时取消,导致Activity/Fragment无法销毁导致的内存泄露。

Rx-preferences

用RxJava实现Android中的SharedPreferences

)

Storio

支持RxJava的数据库

参考文章

  1. Awesome-RxJava
  2. RxJava常见的使用场景总结

站在大神肩膀上看RxJava相关推荐

  1. 站在巨人的肩膀上看Servlet——原来如此(更适合初学者认识Servlet)

    前言: 有段时间没更新博客了,这段时间因为要准备考试,考完试后又忙了一阵别的事,一直没能静下心来写博客.大学考试真是越来越恶心了,各种心酸,那酸爽,够味.不过还好,马上就要大三了,听大三学长学姐说大三 ...

  2. 站在巨人的肩膀上看世界,MySQL初步使用语法

    站在巨人的肩膀上看世界,MySQL初步使用  MySQL是一个常用的数据库,对于他的使用,我们需要尽量的了解它,但是掌握初步的语法,也可以勉强使用它,这都归功于它的研发者们.正是因为这些大佬,写好了软 ...

  3. 关于安卓经典转载系列的说明,让我们一起站在大神的锭锭上征服世界!

    时间精力有限,安卓原创文章比较慢,为了让看的更远,就让我们一起站在大神的锭锭上!我会选择一些不错的文章进行转载,这里将会使大婶们的经典之作的聚集地,我等屌丝先膜拜一下,然后站在大神的丁丁上去放眼世界. ...

  4. 站在前人的肩膀上,新一代数学家正在崛起

    在中国科学院数学与系统科学研究院(以下简称"数学院"),各个研究方向的新一代数学家站在前人的肩膀上正在崛起.他们活跃在国际最前沿,正在完成从跟随者到引领者的转变 "璀璨团 ...

  5. 大神都在看的五金模具设计之端子模具设计要点

    大神都在看的五金模具设计之端子模具设计要点 一. 端子模具设计注意事项 端子模具的成熟产品,一般有两个特点:产量大,更新期快.基于产品的特点,在设计端子模具时 应就这两个方面对模具结构和思路作整合,把 ...

  6. 【Visual C++】游戏开发笔记三十五 站在巨人的肩膀上:游戏引擎导论

    看到在留言中很多朋友提到不太清楚DirectX与游戏引擎的区别的问题,在这里浅墨就专门把自己对游戏引擎的一些理解写成一篇文章,作为我们<Visual C++游戏开发>专栏的游戏引擎导论,也 ...

  7. 博客园设置好看的主题!站在巨人的肩膀上眺望远方!!

    [前言] 昨天(2020.12.6)学习期间,突然有篇非常好看的博文映入我的眼帘,说好看,其实是主题好看,当然内容也很优秀.于是乎,我眼馋了,想把自己的博客主题也搞成那个样子,咨询了一下博主大大.他给 ...

  8. 知识就是力量,让机器站在巨人的肩膀上

    作者:微软亚洲研究院 闫峻博士 知识是什么?抽象来说,是人类对世界的认知,对宏观及微观世界客观规律的总结.具体来说,大到牛顿定律.量子力学中的科学发现,小到自家孩子的生日.太太做饭常用的酱油颜色,都是 ...

  9. 游戏开发笔记三十五 站在巨人的肩膀上:游戏引擎导论

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接: http://blog.csdn.net/zhmxy555/article/details/8250057 作者:毛星云(浅墨 ...

最新文章

  1. 今天新开通cnblogs,就说几句,留作纪念。
  2. pythonselenium实战 excel读取和写入_Python3.6+selenium2.53.6自动化测试_读取excel文件的方法...
  3. U Sparkle 开发者计划招募中!
  4. PWN-PRACTICE-BUUCTF-26
  5. CF567E President and Roads
  6. 保险未起保是投保成功了吗?
  7. 科研绘图软件GraphPad Prism教程(一)
  8. 常用来进行钢结构节点输出的软件是什么_【经验分享】钢结构深化设计BIM应用方法总结...
  9. 使用MATLAB任意修改图片像素大小
  10. 凸优化理论(一)数学优化问题的分类
  11. 无法启动计算机上rasman,解决Windows无法启动Remote Access Connection Manager服务
  12. java定义苹果类Apple_定义一个水果接口Fruit,里面定义一个表示吃水果的eat方法。定义一个苹果类Apple和一个橘子...
  13. 原来她在我的生命中如此重要
  14. mysql中1146提示_Mysql数据库的使用总结之ERROR 1146 (42S02)
  15. iPhone人物拍照调色
  16. 惠普HP Deskjet F378 多功能一体机驱动
  17. mysql修改数据库编码级_修改mysql数据库编码
  18. unityUI插件整理
  19. Android 8.0解决的OkHttp问题:A connection to xxx was leaked. Did you forget to close a response body?
  20. html页面默认标签,常用HTML标签以及各浏览器默认值

热门文章

  1. 绝地求生LowLevelFatalError报错原因
  2. 小红书如何种草,有哪些方法和注意事项
  3. torchvision.utils.make_grid() 拼接图片 mnist数据集(新手)
  4. 爬取‘广州链家新房’数据并以csv形式保存。
  5. python-简易反恐精英
  6. idea改变大于等于、不等于!=等符号的样式
  7. 保护线程间的共享数据
  8. 给自己制定一个学习计划
  9. 阿瑞斯(ARS)创世公链开创区块链信息技术新时代
  10. SUM函数超实用的13种经典用法