前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Carson带你学Android:RxJava操作符教程

Carson带你学Android:RxJava操作符教程

作者头像
Carson.Ho
发布2022-03-24 20:32:01
6080
发布2022-03-24 20:32:01
举报
文章被收录于专栏:Android知识分享Android知识分享

前言

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

今天,我将为大家献上一份 RxJava操作符的详细使用攻略,希望你们会喜欢。

Carson带你学RxJava系列文章,包括 原理、操作符、应用场景、背压等等,请看文章:Android:这是一份全面 & 详细的RxJava学习指南

本文所有代码 Demo均存放在Carson_Ho的Github地址

目录

1. 简介

RxJava 操作符的具体简介如下:

2. 类型

  • RxJava功能强大,所以其对应的操作符的类型也非常多
  • 根据功能作用的不同,RxJava的操作符分类如下:
  • 下面,我将对每类的操作符进行详细讲解

3. 操作符详解

注:在使用RxJava 2操作符前,记得在项目的Gradle中添加依赖:

代码语言:javascript
复制
dependencies {
      compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
      compile 'io.reactivex.rxjava2:rxjava:2.0.7'
      // 注:RxJava2 与 RxJava1 不能共存,即依赖不能同时存在
}

3.1 创建操作符

  • 作用 创建 被观察者( Observable) 对象 & 发送事件。
  • 应用场景
  • 类型 根据上述应用场景,创建操作符的类型包括:

3.2 变换操作符

  • 作用 对事件序列中的事件 / 整个事件序列 进行加工处理(即变换),使得其转变成不同的事件 / 整个事件序列
  • 具体原理
  • 应用场景 嵌套回调(Callback hell
  • 类型 根据上述应用场景,常见的变换操作符类型包括:
  1. 该例子将结合RetrofitRxJava 进行讲解
  2. 具体请看文章:Android RxJava 实际应用讲解:网络请求嵌套回调

3.3 组合 / 合并操作符

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

该例子将结合RetrofitRxJava 进行讲解

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

3.4 功能性操作符

  • 作用 辅助被观察者(Observable) 在发送事件时实现一些功能性需求
  • 实际应用场景
  • 连接(订阅) 观察者 & 被观察者
  • 线程调度(切换)
  • 错误处理
  • 事件生命周期操作
  • 延时操作
  • 重复发送操作
  • 类型 根据上述应用场景,常见的功能性操作符 主要有:

该例子将结合RetrofitRxJava 进行讲解

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

3.5 过滤操作符

  • 作用 过滤 / 筛选 被观察者(Observable)发送的事件 & 观察者 (Observer)接收的事件
  • 应用场景
代码语言:txt
复制
1. 根据 指定条件 过滤事件
2. 根据 指定事件数量 过滤事件
3. 根据 指定时间 过滤事件
4. 根据 指定事件位置 过滤事件类型
根据上述应用场景,常见的过滤操作符 主要有:

该例子将结合RetrofitRxJava 进行讲解

  1. Android RxJava 实际应用讲解:联想搜索优化
  2. Android RxJava 实际应用讲解:Android RxJava 实际应用讲解:功能防抖

3.6 条件 / 布尔操作符

  • 作用 通过设置函数,判断被观察者(Observable)发送的事件是否符合条件
  • 类型 RxJava2中,条件 / 布尔操作符的类型包括:

至此,关于RxJava 2 中的操作符讲解完毕。

4. 总结

  • 本文主要对 RxJava2 中常用的所有类型操作符进行了详细介绍,下面用1张图进行总结
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 目录
  • 1. 简介
  • 2. 类型
  • 3. 操作符详解
    • 3.1 创建操作符
      • 3.2 变换操作符
        • 3.3 组合 / 合并操作符
          • 3.4 功能性操作符
            • 3.5 过滤操作符
              • 3.6 条件 / 布尔操作符
              • 4. 总结
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档