您的位置:首页 > 移动开发 > Android开发

Rxjava-Android资料汇总

2016-03-29 17:07 302 查看
从去年(2015)10月份左右接触到RxJava到今(2016.03)也有近半个年,从一开始的Rx风格的蒙圈代码到现在自己项目中必不可少的Lib,多多少少积累下来一些经验,再加上周边小伙伴不时的问这个依赖(RxJava)是什么?这代码什么意思?RxJava是什么?能做什么?很牛B吗?- -!有时候真的问的人无言以对。

1、Rxjava是什么(响应式编程)
这个问题有很多前辈都已经解答过,如果你真的想了解并去学习RxJava,不妨抛下心中的烦躁(要知道有些东西并不是拿来就能用),耐心的去阅读他们的博客或资料(文章末尾),我对这个问题的回答肯定没有前辈那么有深度或广度,所以在此就不过多的去阐述其概念。基于自己的理解下一个定义: RxJava是一个使用Java语言基于观察者设计模式拓展而来的响应式编程库。

2、Rxjava能做什么(高效)
首先我们需要明确,使用RxJava写出的功能,并不会说比普通的Java代码多么强大, 不禁会问:那有什么卵用?(已不止一个小伙伴讽刺过这个答案),当我们真正了解了RxJava以及使用一些便捷的操作符,我们会更深刻的体会到什么是高效。

3、如何学习RxJava(耐心)
首先请调节好学习心态,RxJava并不是一个”拿来就能用“的项目,他需要我们像学习一门新语言一样从语法-->词汇-->用法的学习过程,不要抱怨他是多么的复杂、国内资料是多么的少。毕竟它只是个不到1MB Jar包大小的库,花不了我们太多时间即可入门,我们需要做的只是摆好心态,耐心的学习。

一、入门
如果你还没有接触过RxJava,下面这些文章可能会帮到你:


Android 开发者的 RxJava 详解 ——扔物线 对RxJava的概念以及基本特性做了详细介绍

下面这些文章适合你跟着去敲,了解RxJava的基本语法:

深入浅出RxJava(一:基础篇)

深入浅出RxJava ( 二:操作符 )

深入浅出RxJava ( 三--响应式的好处 )

深入浅出RxJava ( 四-在Android中使用响应式编程 )

——hi大头鬼hi

如果你对RxJava的链式编程和代码结构感到好奇,下面这篇文章会从代码的角度给你带来惊喜:

NotRxJava懒人专用指南
——作者:Yaroslav Heriatovych 译者:Rocko
从代码的角度教你实现一个简易的RxJava库

二、进阶
如果你已了解RxJava基本语法,并尝试着去练习,那么现在你需要熟悉更多的操作符,并理解它们的意思,在特定的场合使用它们去编写代码。

操作符介绍:ReactiveX中文翻译文档

以下是网上收集到的RxJava操作符在某些场景下的使用:
RxJava使用场景小结
——THEONE10211024

RxJava使用场景小结
——hi大头鬼hi

RxJava-Android-Samples
——kaushikgopal

以下是本人在工作之余写的Demo:

rxjava_for_android
(诺对您有所帮助,还望star)

(一)RxJava在Android网络框架中的使用
(二)RxJava+RxBinding在View上的一些使用技巧

(三)RxJava操作符:Buffer
(四)RxJava操作符:zip数据合并操作
(五)RxJava操作符:merge合并操作符
(六)RxJava轮询器:interval
(七)RxJava定时器:timer
(八)RxJava:PublishSubject
(九)RxJava:RxBus

(十)【续】网络框架篇(RxJava+OkHttp+Gson)

三、 其他可能对你有所帮助的资料

那些年我们错过的响应式编程
——很详细的介绍什么是响应式编程
使用RxJava.Observable取代AsyncTask和AsyncTaskLoader
——通过比较介绍RxJava在异步处理上的优势
RxJava部分操作符介绍
——水木川博客
Awesome-RxJava
——hi大头鬼hi RxJava资源的总结分享

值得一读的文章:
给创业码农的话--如何提升开发效率
关于APK瘦身值得分享的一些经验

Android客户端性能优化

四、学习中可能会涉及到的库
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对Rxjava提供支持
https://github.com/pushtorefresh/storio
——数据库对RxJava的支持
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: