RxJava理解
- 创建
- .Observable.create(Observable对象)
- Observable.from(数组)
- Observable.just(同类型对象)
- Observable.repeate(重复执行)
- Observable.range(从某一值开始执行)
- Observable.interval(循环执行)
- Observable.timer(延时执行)
- 过滤
- filter 通过函数Func1选择过滤内容
- take 从第一个开始总共取多少元素
- takeLast 从最后一个起取多少个元素
- distinct 去掉重复元素
- skip 忽略前几个元素
- skipLast 忽略后几个元素
- elementAt 获取地n个元素
- elementAtOrDefault 获取第n个元素,没有可指定默认值
- sample 获取在摸个时间间隔内最近的元素
- timeout 指定时间间隔内获取不到值触发error
- 变化
- map 用来转换输入值的类型
- flatMap (交叉执行,无序)
concatMap(顺序有序)
subscribeOn(Schedulers.io());//网络请求
observeOn(AndroidSchedulers.mainThread()).//更新ui - switchMap 和flatMap类似,区别是如果前一个未完成,后面的会取消前面的任务
- scan 有点类似递归使用
- groupBy 分组使用
- cast 类型数据转换