内容简介:Android: RxJava操作符 详细使用手册
前言
-
Rxjava
,由于其 基于事件流的链式调用、逻辑简洁 & 使用简单 的特点,深受各大Android
开发者的欢迎。
如果还不了解RxJava,请看文章: Android:这是一篇 清晰 & 易懂的Rxjava 入门教程
-
RxJava
如此受欢迎的原因,在于其 提供了丰富 & 功能强大的操作符,几乎能完成所有的功能需求 - 今天,我将为大家献上一份
RxJava
操作符的详细使用攻略,希望你们会喜欢。
- 本系列文章主要基于
Rxjava 2.0
- 接下来的时间, 我将持续推出
Android
中Rxjava 2.0
的一系列文章,包括原理、操作符、应用场景、背压等等 ,有兴趣可以继续关注 Carson_Ho的安卓开发笔记 !!
本文所有代码
Demo
均存放在
Carson_Ho的Github地址
目录
1. 简介
RxJava
操作符的具体简介如下:
2. 类型
-
RxJava
功能强大,所以其对应的操作符的类型也非常多 - 根据功能作用的不同,RxJava的操作符分类如下:
- 下面,我将对每类的操作符进行详细讲解
3. 操作符详解
注:在使用 RxJava 2
操作符前,记得在项目的 Gradle
中添加依赖:
dependencies { compile 'io.reactivex.rxjava2:rxandroid:2.0.1' compile 'io.reactivex.rxjava2:rxjava:2.0.7' // 注:RxJava2 与 RxJava1 不能共存,即依赖不能同时存在 }
3.1 创建操作符
-
作用
创建 被观察者(
Observable
) 对象 & 发送事件。 -
应用场景
-
类型
根据上述应用场景,创建操作符的类型包括:
-
具体操作符 & 应用场景 详细介绍
Android RxJava:最基础的操作符详解 - 创建操作符 -
实际开发需求案例
下面,我将讲解创建操作符的1个常见实际需求案例:网络请求轮询
- 该例子将结合
Retrofit
和RxJava
进行讲解 - 具体请看文章: Android RxJava 实际应用讲解:(无条件)网络请求轮询
- 该例子将结合
3.2 变换操作符
- 作用
对事件序列中的事件 / 整个事件序列 进行 加工处理 (即变换),使得其转变成不同的事件 / 整个事件序列 - 具体原理
-
应用场景
嵌套回调(
Callback hell
) -
类型
根据上述应用场景,常见的变换操作符类型包括:
-
具体操作符 & 应用场景 详细介绍
Android RxJava:图文详解 变换操作符 -
实际开发需求案例
下面,我将讲解变换操作符的1个常见实际需求案例:网络请求嵌套回调
- 该例子将结合
Retrofit
和RxJava
进行讲解 - 具体请看文章: Android RxJava 实际应用讲解:网络请求嵌套回调
- 该例子将结合
3.3 组合 / 合并操作符
-
作用
组合 多个被观察者(
Observable
) & 合并需要发送的事件 -
应用场景
- 组合多个被观察者
- 合并多个事件
- 发送事件前追加发送事件
- 统计发送事件数量
-
类型
根据上述应用场景,常见的组合 / 合并操作符 主要有:
-
具体操作符 & 应用场景 详细介绍
Android RxJava:组合 / 合并操作符 详细教程 -
实际开发需求案例
下面,我将讲解组合操作符的常见实际需求案例
该例子将结合
Retrofit
和RxJava
进行讲解
3.4 功能性操作符
-
作用
辅助被观察者(
Observable
) 在发送事件时实现一些功能性需求 -
实际应用场景
- 连接(订阅) 观察者 & 被观察者
- 线程调度(切换)
- 错误处理
- 事件生命周期操作
- 延时操作
- 重复发送操作
-
类型
根据上述应用场景,常见的功能性操作符 主要有:
-
具体操作符 & 应用场景 详细介绍
Android RxJava:功能性操作符 全面讲解 -
实际开发需求案例
下面,我将讲解组合操作符的常见实际需求案例
该例子将结合
Retrofit
和RxJava
进行讲解
3.5 过滤操作符
-
作用
过滤 / 筛选 被观察者(
Observable
)发送的事件 & 观察者 (Observer
)接收的事件 -
应用场景
- 根据 指定条件 过滤事件
- 根据 指定事件数量 过滤事件
- 根据 指定时间 过滤事件
- 根据 指定事件位置 过滤事件
-
类型
根据上述应用场景,常见的过滤操作符 主要有:
-
具体操作符 & 应用场景 详细介绍
Android RxJava:过滤操作符 全面讲解 -
实际开发需求案例
下面,我将讲解组合操作符的常见实际需求案例
该例子将结合
Retrofit
和RxJava
进行讲解
3.6 条件 / 布尔操作符
-
作用
通过设置函数,判断被观察者(
Observable
)发送的事件是否符合条件 -
类型
RxJava2
中,条件 / 布尔操作符的类型包括:
-
具体操作符详解
Android RxJava:详解 条件 / 布尔操作符
至此,关于 RxJava 2
中的操作符讲解完毕。
4. 总结
- 本文主要对
RxJava2
中常用的所有类型操作符进行了详细介绍,下面用1张图进行总结
- 接下来的时间, 我将持续推出
Android
中Rxjava 2.0
的一系列文章,包括原理、操作符、应用场景、背压等等 ,有兴趣可以继续关注 Carson_Ho的安卓开发笔记 !!
请帮顶 / 评论点赞!因为你的鼓励是我写作的最大动力!
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- JavaScript骚操作之操作符
- Android RxJava 操作符详解系列:条件 / 布尔操作符
- C语言中点操作符(.)和箭头操作符(->)的不同之处
- JS操作符拾遗
- 浅谈JavaScript位操作符
- rxjs switchMap操作符
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
The Hard Thing About Hard Things
Ben Horowitz / HarperBusiness / 2014-3-4 / USD 29.99
Ben Horowitz, cofounder of Andreessen Horowitz and one of Silicon Valley's most respected and experienced entrepreneurs, offers essential advice on building and running a startup—practical wisdom for ......一起来看看 《The Hard Thing About Hard Things》 这本书的介绍吧!