再战Rxjava

Observable是被观察者,Subscriber是观察者,Observable【被观察者】通过subscribe来订阅Subscriber【观察者】

Subscriber【观察者】实现中,onError()和onCompleted()不会被同时调用,两个方法是互斥的,正常完成会调用onCompleted()方法。

1. Observable的操作符分类:

1)创建型

 create:最普通的创建方式

 just:快捷创建方式

 from:处理数组数据,像for/each

 defer:当观察者被创建以后,被观察者才开始创建,创建延迟

 interval:间隔器,每隔多久执行一次

 range:(1,10) 执行时,直接输出1-10

 repeat:重复执行n遍被观察的工作

 start:

 timer:定时器,指定多久后执行

2)转换型

 map:将一个对象转换微另一个对象

 flatMap:将一个数据对象,转换成多个被观察者对象,多网络请求时

 groupBy:对数据进行分组

 buffer:对数据进行分组处理

 scan:对数据进行累加操作

 window:

3)过滤型

 debounce:多长时间没有操作

 distinct:去重复数据

 elementAt:取指定位置数据

 filter:过滤

 first:取列表第一位的数据

 ignoreElements:

 last:取列表最后一位的数据

 skip:跳过数据前n项

 skipLast:跳过数据后n项

 take:取数据前n项

 takeLast:取数据后n项

3)组合型

 zip:将多个observable的数据源进行累加

 merge:将多个数据进行组合,根据时间

 startWith:在数据源前,添加新的数据

 combineLatest:

 join:

 switchOnNext:


2.调度器 androidSchedulers

1)subscribeOn

   指定观察者所在的线程

2)observeOn

   指定被观察者所在的线程


3.总结

1)响应式编程

2)Rxjava和Rxandroid的区别

3)Rxjava的操作符

4)Rxjava是扩展的观察者模式,它与一般观察者的区别

5)Rxjava的线程调度器

你可能感兴趣的:(android)