前言

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

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

  • 今天,carson今天将采用 图文的方式 解析 Rxjava的基本原理,希望大家会喜欢。
示意图

目录

示意图

1. 定义

  • RxJavaGitHub 的介绍:
RxJava:a library for composing asynchronous and event-based programs using observable sequences for the Java VM// 翻译:RxJava 是一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库
  • 总结:RxJava 是一个 基于事件流、实现异步操作的库

2. 作用

实现异步操作

类似于 Android中的 AsyncTaskHandler作用


3. 特点

由于 RxJava的使用方式是:基于事件流的链式调用,所以使得 RxJava

  • 逻辑简洁
  • 实现优雅
  • 使用简单

更重要的是,随着程序逻辑的复杂性提高,它依然能够保持简洁 & 优雅


4. 生活例子引入

我用一个生活例子引入 & 讲解 Rxjava原理: 顾客到饭店吃饭

示意图 示意图

5. 原理介绍

5.1 概述

Rxjava原理 基于 一种扩展的观察者模式,整个模式中有4个角色:

角色 作用 类比
被观察者(Observable) 产生事件 顾客
观察者(Observer) 接收事件,并给出响应动作 厨房
订阅(Subscribe) 连接 被观察者 & 观察者 服务员
事件(Event) 被观察者 & 观察者 沟通的载体 菜式

5.2 具体描述

请结合上述 顾客到饭店吃饭 的生活例子理解:

示意图 示意图

5.3 总结

RxJava原理可总结为:

  • 被观察者 (Observable) 通过 订阅(Subscribe) 按顺序发送事件 给观察者 (Observer)
  • 观察者(Observer) 按顺序接收事件 & 作出对应的响应动作。具体如下图:
示意图

至此,关于RxJava原理讲解完毕。


6. 总结

  • 本文主要对 Rxjava 的原理进行图文讲解
  • 接下来,我将持续推出 AndroidRxjava 2.0 的一系列文章,包括原理、操作符、应用场景、背压等等
示意图

请点赞!因为你的鼓励是我写作的最大动力!

相关文章阅读

  • 操作符使用
    Android:这是一篇 清晰 & 易懂的Rxjava 入门教程
    Android RxJava:最基础的操作符详解 - 创建操作符
    Android RxJava:图文详解 变换操作符
    Android RxJava:组合 / 合并操作符 详细教程
    Android RxJava:功能性操作符 全面讲解
  • 实际应用讲解
    Android RxJava 实际应用讲解:(无条件)网络请求轮询
    Android RxJava 实际应用讲解:(有条件)网络请求轮询
    Android RxJava 实际应用讲解:网络请求嵌套回调
    Android RxJava 实际应用讲解:合并数据源
    Android RxJava 实际应用讲解:从磁盘 / 内存缓存中 获取缓存数据
    Android RxJava 实际应用讲解:联合判断
    Android RxJava:细说 线程控制(切换 / 调度 )(含Retrofit实例讲解)
    Android RxJava 实际应用讲解:网络请求出错重连(结合Retrofit)

欢迎关注Carson_Ho的!

不定期分享关于安卓开发的干货,追求短、平、快,但却不缺深度

更多相关文章

  1. Android(安卓)Fragment事件透传
  2. android View System touch 事件分发流程
  3. android ViewFlipper的使用
  4. Android8.0 图形引擎的心跳 - Vsync信号
  5. android 实现表格上下滑,左右滑,并且标题也跟着滑
  6. 为什么Looper.loop()死循环不会导致ANR
  7. ios开发之ios中控件
  8. Android技术博文汇总
  9. 从华为事件,看 Google Android(安卓)的独断专制!

随机推荐

  1. html移动应用开发技术分享
  2. 第21天 Android(安卓)Touch事件学习 8 事
  3. 【转】Android(安卓)虚拟机安装APK文件方
  4. cocos2dx android resources.ap_ does no
  5. android 横竖屏切换问题的解决方案
  6. findViewById()使用常见错误
  7. Android设备管理器漏洞分析!
  8. Android(安卓)2.3姜饼的API改变大全
  9. Android: EditText设置属性和设置输入规则
  10. 新书内容连载(2):Android(安卓)Activity的生