RxJava2 学习资料推荐

RxJava2 学习资料推荐

2017-09-01 鸿洋 鸿洋

昨天给大家推荐的巨大福利来袭,还记得去年的那个“玩Android”网站么?(可点击访问),非常感谢大家的支持,不少朋友遇到了一些问题,我把问题汇总在第一条评论那里,如果还有搞不定的后台可以给我留言,该活动会延续到月底。


最近在看RxJava相关的文章,同事之前也做过一些分享,RxJava用起来还是非常爽的,尤其是一个页面需要多个网络请求,在控制这些访问请求顺序、并发请求、失败重试、token生效等。


当前了,因为现在是已经更新到RxJava2了,所以本篇主要目前是RxJava2学习资源的推荐,后面有机会会针对各种场景写一篇实战类的文章。


先贴几个必要的地址,以及wiki:

https://github.com/ReactiveX/RxJava

https://github.com/ReactiveX/RxAndroid

https://github.com/JakeWharton/RxBinding

https://github.com/JakeWharton/RxRelay

https://github.com/ReactiveX/RxJava/wiki/Additional-Reading


可以在看完下面的入门资料后,细细的看下官方的相关文章。



1 0基础到上手


这个非常推荐简书作者Season_zlc的“水管”系列,相信很多人都看过,看完你就知道为什么叫“水管”系列了~~


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

http://www.jianshu.com/p/464fa025229e


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

http://www.jianshu.com/p/8818b98c44e2


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

http://www.jianshu.com/p/128e662906af


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

http://www.jianshu.com/p/bb58571cdb64


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

http://www.jianshu.com/p/0f2d6c2387c9


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

http://www.jianshu.com/p/e4c6d7989356


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

http://www.jianshu.com/p/9b1304435564


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

http://www.jianshu.com/p/a75ecf461e02


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

http://www.jianshu.com/p/36e0f7f43a51


贴个二维码可以直达。


接下来还有简书作者南尘2251的RxJava2系列。


  • 这可能是最好的RxJava 2.x 入门教程(一)

http://www.jianshu.com/p/a93c79e9f689


  • 这可能是最好的RxJava 2.x 入门教程(二)

http://www.jianshu.com/p/b39afa92807e


  • 这可能是最好的RxJava 2.x 入门教程(三)

http://www.jianshu.com/p/e9c79eacc8e3


  • 这可能是最好的RxJava 2.x 入门教程(四)

http://www.jianshu.com/p/c08bfc58f4b6


  • 这可能是最好的RxJava 2.x 入门教程(五)

http://www.jianshu.com/p/81fac37430dd


GitHub 代码同步更新:

https://github.com/nanchen2251/RxJava2Examples


完结版刚好本公众号推送过,可以直接过去这可能是最好的 RxJava 2.x 入门教程(完结版)~


基本上看完就已经对RxJava2有一定的了解了,接下来就是异常强大的操作符的学习了~


2 操作符与实战


CSDN作者余志强的RxJava2操作符系列:


  • RxJava create操作符的用法和源码分析

http://blog.csdn.net/johnny901114/article/details/51524470


  • RxJava map操作符用法详解

http://blog.csdn.net/johnny901114/article/details/51531348


  • RxJava flatMap操作符用法详解

http://blog.csdn.net/johnny901114/article/details/51532776


  • RxJava concatMap操作符用法详解

http://blog.csdn.net/johnny901114/article/details/51533282


  • RxJava onErrorResumeNext操作符实现app与服务器间token机制

http://blog.csdn.net/johnny901114/article/details/51533586


  • RxJava retryWhen操作符实现错误重试机制

http://blog.csdn.net/johnny901114/article/details/51539708


  • RxJava 使用debounce操作符优化app搜索功能

http://blog.csdn.net/johnny901114/article/details/51555203


  • RxJava concat操作处理多数据源

http://blog.csdn.net/johnny901114/article/details/51568562


  • RxJava zip操作符在Android中的实际使用场景

http://blog.csdn.net/johnny901114/article/details/51614927


  • RxJava switchIfEmpty操作符实现Android检查本地缓存逻辑判断

http://blog.csdn.net/johnny901114/article/details/52585912


  • RxJava defer操作符实现代码支持链式调用

http://blog.csdn.net/johnny901114/article/details/52597643


  • combineLatest操作符的高级使用

http://blog.csdn.net/johnny901114/article/details/61191723


还有个非常给力的开源项目,“Learn RxJava By Samples”:



https://github.com/amitshekhariitbhu/RxJava2-Android-Samples


包含非常多的Sample,你也可以在它的README上获得更多信息~


该篇是对该项目的记录,方便速查:


  • RxJava 知识梳理(2) - RxJava2 操作符实践

http://www.jianshu.com/p/2ddd9bb8b1d7


该作者最近也在写一些实战类的文章:


  • RxJava2 实战知识梳理(1) - 后台执行耗时操作,实时通知 UI 更新

http://www.jianshu.com/p/c935d0860186


  • RxJava2 实战知识梳理(2) - 计算一段时间内数据的平均值

http://www.jianshu.com/p/5dd01b14c02a


  • RxJava2 实战知识梳理(3) - 优化搜索联想功能

http://www.jianshu.com/p/7995497baff5


  • RxJava2 实战知识梳理(4) - 结合 Retrofit 请求新闻资讯

http://www.jianshu.com/p/74f46ae1fabb


  • RxJava2 实战知识梳理(5) - 简单及进阶的轮询操作

http://www.jianshu.com/p/fa1828d70192


  • RxJava2 实战知识梳理(6) - 基于错误类型的重试请求

http://www.jianshu.com/p/d135f19e045c


  • RxJava2 实战知识梳理(7) - 基于 combineLatest 实现的输入表单验证

http://www.jianshu.com/p/25682d620320


  • RxJava2 实战知识梳理(8) - 使用 publish + merge 优化先加载缓存,再读取网络数据的请求过程

http://www.jianshu.com/p/dfc11118b70b


3 开源项目


优秀的项目很多~~推荐2个~~太多了也看不完~


就看天气


就看天气——是一款遵循 Material Design 风格的只看天气的APP。

  • 卡片展现(当前天气情况,未来几小时天气情况,生活建议,一周七天概况)

  • 缓存数据,减少网络请求,保证离线查看

  • 内置两套图标(设置里更改)


https://github.com/xcc3641/SeeWeather



极客日报


极客日报,一款纯粹的阅读App,基于Material Design + MVP + RxJava2 + Retrofit + Dagger2 + Realm + Glide


出于学习的目的做了这款Material Design风格的简洁的阅读应用,基本涵盖了当前Android端开发最常用的主流框架,阅读内容主要面向程序员/极客,目前包括:


知乎日报、微信精选、干货集中营、稀土掘金、V2EX 


https://github.com/codeestX/GeekNews



4  源码解析

推荐下张旭童的博客~相信关注本公众号的很多都看过旭童的文章~


  • RxJava2 源码解析(一)

http://blog.csdn.net/zxt0601/article/details/61614799


  • RxJava2 源码解析(二)

http://blog.csdn.net/zxt0601/article/details/61637439


好了~如果大家刚好想学RxJava2不妨周末学习下上面的资源;网络上优秀的文章以及资源非常多,本篇希望仅起到一个引导的作用~~


以后会不定期的更新一些知识点推荐的文章,一般会放在周五推送,周末愉快~


ZZS


如果你有想学习的文章直接留言,我会整理征稿。如果你有好的文章想和大家分享欢迎投稿,直接向我投递文章链接即可。


欢迎长按下图->识别图中二维码或者扫一扫关注我的公众号:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[2\]:上面我们介绍了了关于RxJava的基本的概念和使用方式,在下面的文章中我们会按照以上定义的顺序从API的角度来讲解以下RxJava各个模块的使用方法。引用\[3\]:retry使用了一种错误重试机制,它可以在出现错误的时候进行重试,我们可以通过参数指定重试机制的条件。以下面的程序为例,这里我们设置了当出现错误的时候会进行2次重试,因此,第一次的时候出现错误会调用onNext,重试2次又会调用2次onNext,第二次重试的时候因为重试又出现了错误,因此此时会触发onError方法。也就是说,下面这段代码会触发onNext3次,触发onError()1次。 问题: rxjava2 defer是什么意思? 回答: 在RxJava2中,defer是一个非常有用的操作符。它允许我们在每次订阅时创建一个新的Observable,以便能够动态地生成Observable。defer操作符接受一个Observable的工厂函数作为参数,当有观察者订阅时,它会调用这个工厂函数创建一个新的Observable。这样,每次订阅时都会得到一个全新的Observable实例,可以确保每个订阅者都能够获取到最新的数据。defer操作符的使用场景包括延迟创建Observable、动态地生成Observable等。 #### 引用[.reference_title] - *1* *2* *3* [RxJava 系列-1:一篇的比较全面的 RxJava2 方法总结](https://blog.csdn.net/weixin_34411563/article/details/87985915)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值