RxJava与RxAndroid基础入门

RxAndroid是Rxjava的扩展,多了onCompleted() 和onError()方法

操作符

创建Observables的操作符

Create

Just
接收字符串

From
可以接收数组,list等

Defer
延迟 直到订阅的时候才创建Observable,即调用subscribe的时候才去创建Observable.

Empty/Never/Throw

Interval
Observable.interval(period,timeunit);设置一定间隔时间去发射

Range
Observable.range(1,5).repeat(2)
Repeat
Observable.range(1,5).repeat(2)

Start
Observable.range(1,5).startWith(2)

Timer
Observable.timer(delaytime, timeunit); 定时器

转化操作符

Map
把一个Object 转化为另一个我们自己想要的Object,一对一的转化

FlatMap
一对多的转化
场景:一个网络请求依赖于另一个网络请求后的数据。

GroupBy
可以对数据进行分组

Buffer

Scan
实例之一:以此类推的求和

Window

过滤操作符

Debounce
在规定的时间范围内 没有下一个数据项的产生就将该数据发射。

Distinct
去重

ElementAt
取指定位置的数据

Filter
按照指定的自定义的规则过滤数据

First
取列表数据的第一个数据

Last
取数据项的最后一项数据

IgnoreElements
不发射数据项,即不会调用onNext(),其他会调用。

Sample
每隔一定时间采集数据发射。

Skip
跳过前几项的数据不发射
SkipLast
跳过后几项不发射
Take
取前几项发射数据
TakeLast
取后几项发射数据

Combining Observables操作符

Zip
用来合并两个Observable发射的数据项,根据Func2函数生成一个新的值并发射出去。当其中一个Observable发射的数据结束,则会终止另一个Observable的数据的发射。


RxJava与RxAndroid基础入门_第1张图片
Capture.PNG

Merge
把两个Observable的数据源组合后发射,按时间的先后顺序


RxJava与RxAndroid基础入门_第2张图片
Capture.PNG

StartWith
在一个Observable的数据源前插入另一个Observable的数据源


RxJava与RxAndroid基础入门_第3张图片
Capture.PNG

CombineLastest
取第一个数据源的最后一个数据和第二个数据源作相应的操作


RxJava与RxAndroid基础入门_第4张图片
Capture.PNG

Join
两个observable 结合组成一个新的observable.

(Switch)SwitchOnNext
替换

Error Handling Operators

Catch
Retry

你可能感兴趣的:(RxJava与RxAndroid基础入门)