最近ReactiveX编程模型开始慢慢发展起来了,对于 Android 开发者来说, RxJava 是一个很难上手的库,因为它对于 Android 开发者来说有太多陌生的概念了,可是它真的很牛。RxAndroid的核心是异步,提供了可维护行好的链式语法和各种线程之间的方便切换,对于大多数Android开发者来说,使用RxAndroid写的代码初看应该是很迷茫的,但熟悉了流程就好了,RxAndroid对于复杂的异步编程场景还是能显著提高代码可读性的,就像javascript 的Promise编程模式差不多。
ReactiveX是Reactive Extensions的缩写,一般简写为Rx。Rx是一个编程模型,目标是提供一致的编程接口,帮助开发者更方便的处理异步数据流,Rx库支持.NET、JavaScript和C++,Rx近几年越来越流行了,现在已经支持几乎全部的流行编程语言了(已经有13种语言了)。社区网站是 http://reactivex.io/。
RxAndroid是在RxJava基础上增加了一些类,让我们可以在Android平台上使用RxJava。Retrofit(REST网络库),RxBinding,RxBus等开源项目可以和RxAndroid一起使用。
下面是网友收集的一些相关的文章
Blog
- 给 Android 开发者的 RxJava 详解 -强烈推荐 扔物线的文章 讲解非常详细,这篇看懂基本就可以上手了a啊
- NotRxJava懒人专用指南 -这篇入门极力推荐,手把手,深入浅出教你实现一个简易的RxJava库,更好的理解RxJava的实现思路
- 深入浅出RxJava(一:基础篇)
- 深入浅出RxJava ( 二:操作符 )
- 深入浅出RxJava ( 三--响应式的好处 )
- 深入浅出RxJava ( 四-在Android中使用响应式编程 )
- 如何升级到RxAndroid1.0 -适合使用Rx 0.x版本的用户升级的时候参考
开发者前线翻译的一系列很赞的教程
- 那些年我们错过的响应式编程 -非常棒的讲解响应式编程的文章。
- 使用RxJava从多个数据源中加载数据
- 使用RxJava.Observable取代AsyncTask和AsyncTaskLoader
- 当复仇者联盟遇上Dragger2、RxJava和Retrofit的巧妙结合
- 结合RxJava使用SQLite
- 比钢铁侠反应更灵敏-RxJava
一些不错的介绍操作符的文章
一些不错的翻译文章
- 【译】Deferring Observable code until subscription in RxJava
- 【译】RxJava Observable tranformation: concatMap() vs flatMap()
- 【译】Loading data from multiple sources with RxJava
- 【译】Don‘t break the chain: use RxJava‘s compose() operator
Test
App
- android-gfycat -Android application that loads gifs via gfycat for efficiency‘s sake
- JakeWharton/u2020 -Jake大神的项目,里面有RxJava和Retrofit一起使用的例子
- Avengers - 一个使用Retrofit+RxJava+MVP的app
- rx-android-architecture -Android中使用Rx的一种架构
- learnrxjava -RxJava例子
Library
- rx-preferences -使SharedPreferences支持RxJava
- RxAndroid -RxJava的Android拓展
- RxLifecycle -帮助使用了RxJava的安卓应用控制生命周期
- RxBinding -安卓UI控件的RxJava绑定API
- storio -支持RxJava的数据库
- retrofit -支持RxJava的网络请求库
Stackoverflow
When should one use RxJava Observable and when simple Callback on Android?
时间: 2024-10-13 21:47:25