RxJava简介及在androidstudio中引入RxAndroid
2016-06-16 17:01
323 查看
RX的简介
RX = Observables + LINQ +SchedulersLINQ 语言集成查询 Language Integrated Query
Schedulers 定时任务
RX是一种编程模型,目的是提供统一的编程接口,方便开发者处理仪表数据流。
目前为止RX已经支持几乎所有的主流编程语言。 比较流行的有
RxJava
RxJS
Rx.NET
RX的优点
函数式的编程风格:对可观察数据流使用无副作用的输入输出函数,避免程序里错综复杂的状态简化代码: 可以通过操作符来简化代码 ,常用的操作符:
过滤 filter
选择 select
变换 transform
结合 combine
组合 compose
异步错误处理机制:传统的try/catch没办法一部处理计算,RX提供了合适的错误处理机制
轻松使用并发:RX的Observables和Schedlers让开发者彻底摆脱底层的线程同步和各种并发问题
可以把Observable当作Iterable的推送方式的等价物, 使用Iterable,消费者从生产者那里拉取数据,县城阻塞直至数据准备好。使用Observable,在数据准备好时,生产者将数据推送给消费者,数据可以同步或者异步到达。
RXJava的核心
观察者被观察者
事件 event
订阅 subscriber
Observable 和Observer通过subscribe()方法来实现订阅关系,从而Observable可以在需要的时候发出事件来通知Observer。
Observable和Subscriber可以做任何事情
Observable可以是一个数据库查询,Subscriber用来显示查询结果;
Observable可以是屏幕上的点击事件,Subscriber用来响应点击事件;
Observable可以是一个网络请求,Subscriber用来显示请求结果。
Observable和Subscriber是独立于中间的变换过程的。
在Observable和Subscriber中间可以增减任何数量的map。整个系统是高度可组合的,操作数据是一个很简单的过程。
RXjava在android中的使用步骤
1.在app目录下的build.gradle中添加compile ‘io.reactivex:rxjava:1.1.5’
compile ‘io.reactivex:rxandroid:1.2.0’
2.在app目录下的build.gradle android中添加
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
3.在app目录下的build.gradle中添加
apply plugin: ‘me.tatarka.retrolambda’
4.在工程的build.gradle中添加
classpath ‘me.tatarka:gradle-retrolambda:3.2.5’
在androidstudio中使用aar文件
1.在app目录下的build.gradle中添加repositories {
flatDir {
dirs ‘libs’
}
}
2.在在app目录下的build.gradle dependencies中添加
compile(name: ‘rxandroid-1.2.0’, ext: ‘aar’)
相关文章推荐
- 浅析RxJava处理复杂表单验证问题的方法
- 跟我一起看Retrofit 2.0的源码
- RxJava之subscribeOn解惑
- Rxjava
- RxJava(ReactiveX,Observable)的一些大白话
- Retrofit2.0结合RxAndroid实现二次封装
- RxAndroid + Retrofit + Databinding
- http://gank.io/post/560e15be2dca930e00da1083
- RxJava 和 RxAndroid 四(RxBinding的使用)
- PopupWindow返回参数至Activity两种方式:接口和Rxjava
- Rxjava要素(一)
- RXJava异步代码
- 文章标题
- hot and cold observable
- Retrofit+Rxjava
- Android用Retrofit搭建通用网络请求模块
- RxJava在Android中的简单用例
- RxJava的简介和简单使用
- Rxjava
- retrofit rxjava android 封装 使用