Android平台上使用RxJava的Demo
... -----------------------------------------------------------
1、Rxjava是什么(响应式编程)
这个问题有很多前辈都已经解答过,如果你真的想了解并去学习RxJava,不妨抛下心中的烦躁(要知道有些东西并不是拿来就能用),耐心的去阅读他们的博客或资料(文章末尾),我对这个问题的回答肯定没有前辈那么有深度或广度,所以在此就不过多的去阐述其概念。基于自己的理解简单的下一个定义: RxJava是一个使用Java语言基于观察者模式拓展而来的异步库。
2、Rxjava能做什么(异步、灵活、高效)
首先我们需要明确,使用RxJava写出的功能,并不会说比普通的Java代码多么强大, 不禁会问:那有什么卵用?
我用异步、灵活、高效三个词来诠释。
3、如何学习RxJava(耐心)
首先请调节好学习心态,RxJava并不是一个”拿来就能用“的项目,他需要我们像学习门新语言一样从语法-->词汇-->用法的学习过程,不要抱怨他是多么的复杂、国内资料是多么的少。毕竟它只是个不到1MB Jar包大小的库,花不了我们太多时间即可入门,我们需要做的只是摆好心态,耐心的学习。
###一、入门
如果你还没有接触过RxJava,下面这些文章可能会帮到你:
给 Android 开发者的 RxJava 详解 ——扔物线 对RxJava的概念以及基本特性做了详细介绍
下面这些文章适合你跟着去敲,了解RxJava的基本语法:
深入浅出RxJava ( 四-在Android中使用响应式编程 )
——hi大头鬼hi
如果你对RxJava的链式编程和代码结构感到好奇,下面这篇文章会从代码的角度给你带来惊喜:
NotRxJava懒人专用指南 从代码的角度教你实现一个简易的RxJava库
——作者:Yaroslav Heriatovych 译者:Rocko
###二、进阶
如果你已了解RxJava基本语法,并尝试着去练习,那么现在你需要熟悉更多的操作符,并理解它们的意思,在特定的场合使用它们去编写代码。
操作符介绍:ReactiveX中文翻译文档
以下是网上收集到的RxJava操作符在某些场景下的使用:
RxJava使用场景小结 ——THEONE10211024
RxJava使用场景小结 ——hi大头鬼hi
RxJava-Android-Samples ——kaushikgopal
以下是本人在工作之余写的Demo
rxjava-for-android (诺对您有所帮助,还望star)
(二)RxJava+RxBinding在View上的一些使用技巧
###三、 其他可能对你有所帮助的资料
那些年我们错过的响应式编程 ——很详细的介绍什么是响应式编程
使用RxJava.Observable取代AsyncTask和AsyncTaskLoader ——通过比较介绍RxJava在异步处理上的优势
RxJava部分操作符介绍 ——水木川博客
Awesome-RxJava ——hi大头鬼hi RxJava资源的总结分享
#####值得一读的文章:
###四、学习中可能会涉及到的库
https://github.com/ReactiveX/RxJava ——RxJava核心库
https://github.com/ReactiveX/RxAndroid ——RxJava在Android中使用的扩展库
https://github.com/JakeWharton/RxBinding ——Android控件对RxJava的支持库
https://github.com/f2prateek/rx-preferences ——使SharedPreferences支持 RxJava
https://github.com/trello/RxLifecycle ——帮助RxJava在Android中生命周期的控制,避免内存溢出等问题
https://github.com/square/retrofit ——Retrofit
https://github.com/pushtorefresh/storio ——数据库对RxJava的支持