Android RxJava: 这是一份全面的 操作符 使用汇总 (含详细实例讲解)

  • Rxjava,由于其基于事件流的链式调用、逻辑简洁 & 使用简单的特点,深受各大 Android开发者的欢迎。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如果还不了解RxJava,请看文章:Android:这是一篇 清晰 & 易懂的Rxjava 入门教程

  • RxJava如此受欢迎的原因,在于其提供了丰富 & 功能强大的操作符,几乎能完成所有的功能需求
  • 今天,我将为大家献上一份 RxJava操作符的详细使用攻略,希望你们会喜欢。
  1. 本系列文章主要基于 Rxjava 2.0
  2. 接下来的时间,我将持续推出 AndroidRxjava 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) 对象 & 发送事件。

  • 应用场景

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 类型 根据上述应用场景,创建操作符的类型包括:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 该例子将结合RetrofitRxJava 进行讲解
  2. 具体请看文章:Android RxJava 实际应用讲解:(无条件)网络请求轮询

3.2 变换操作符

  • 作用 对事件序列中的事件 / 整个事件序列 进行加工处理(即变换),使得其转变成不同的事件 / 整个事件序列
  • 具体原理

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 应用场景 嵌套回调(Callback hell

  • 类型 根据上述应用场景,常见的变换操作符类型包括:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 该例子将结合RetrofitRxJava 进行讲解
  2. 具体请看文章:Android RxJava 实际应用讲解:网络请求嵌套回调

3.3 组合 / 合并操作符

  • 作用 组合 多个被观察者(Observable) & 合并需要发送的事件

  • 应用场景

  1. 组合多个被观察者
  2. 合并多个事件
  3. 发送事件前追加发送事件
  4. 统计发送事件数量
  • 类型 根据上述应用场景,常见的组合 / 合并操作符 主要有:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

该例子将结合RetrofitRxJava 进行讲解

  1. Android RxJava 实际应用讲解:合并数据源
  2. Android RxJava 实际应用讲解:从磁盘 / 内存缓存中 获取缓存数据
  3. Android RxJava 实际应用讲解:联合判断

3.4 功能性操作符

  • 作用 辅助被观察者(Observable) 在发送事件时实现一些功能性需求

  • 实际应用场景

  1. 连接(订阅) 观察者 & 被观察者
  2. 线程调度(切换)
  3. 错误处理
  4. 事件生命周期操作
  5. 延时操作
  6. 重复发送操作
  • 类型 根据上述应用场景,常见的功能性操作符 主要有:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

该例子将结合RetrofitRxJava 进行讲解

  1. Android RxJava:细说 线程控制(切换 / 调度 )(含Retrofit实例讲解)
  2. Android RxJava 实际应用讲解:网络请求出错重连(结合Retrofit)
  3. Android RxJava 实际应用讲解:(有条件)网络请求轮询

总结

作为一名从事Android的开发者,很多人最近都在和我吐槽Android是不是快要凉了?而在我看来这正是市场成熟的表现,所有的市场都是温水煮青蛙,永远会淘汰掉不愿意学习改变,安于现状的那批人,希望所有的人能在大浪淘沙中留下来,因为对于市场的逐渐成熟,平凡并不是我们唯一的答案!

资料.png
资料图.jpg

,所有的市场都是温水煮青蛙,永远会淘汰掉不愿意学习改变,安于现状的那批人,希望所有的人能在大浪淘沙中留下来,因为对于市场的逐渐成熟,平凡并不是我们唯一的答案!

[外链图片转存中…(img-WElyla0a-1723780671292)]
[外链图片转存中…(img-iB1dexK1-1723780671293)]

  • 20
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值