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

RxJava简介及在androidstudio中引入RxAndroid

2016-06-16 17:01 323 查看

RX的简介

RX = Observables + LINQ +Schedulers

LINQ 语言集成查询 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’)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息