Android Rxjava教程:清晰 简洁 易懂的Rxjava入门教程

您所在的位置:网站首页 简单易懂使用万用表的教程 Android Rxjava教程:清晰 简洁 易懂的Rxjava入门教程

Android Rxjava教程:清晰 简洁 易懂的Rxjava入门教程

2024-07-13 12:05| 来源: 网络整理| 查看: 265

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

image

本文主要:

面向 刚接触Rxjava的初学者提供了一份 清晰、简洁、易懂的Rxjava入门教程

涵盖 基本介绍、原理 & 具体使用等

解决的是初学者不理解Rxjava原理 & 不懂得如何使用的问题

希望你们会喜欢。

本文主要基于Rxjava 2.0如果读者还没学习过Rxjava 1.0也没关系,因为Rxjava 2.0只是在Rxjava 1.0上增加了一些新特性,本质原理 & 使用基本相同接下来的时间,我将持续推出 Android中 Rxjava 2.0 的一系列文章,包括原理、操作符、应用场景、背压等等 ,有兴趣可以继续关注Kenny_星星之火的安卓开发笔记!!

image

目录

image

1. 定义 RxJava 在 GitHub 的介绍:

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

实现异步操作

类似于 Android中的 AsyncTask 、Handler作用

3. 特点

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

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

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

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

image

image

4.2 Rxjava原理介绍

Rxjava原理 基于 一种扩展的观察者模式

Rxjava的扩展观察者模式中有4个角色:

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

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

image

image

即RxJava原理可总结为:被观察者 (Observable) 通过 订阅(Subscribe) 按顺序发送事件 给观察者 (Observer), 观察者(Observer) 按顺序接收事件 & 作出对应的响应动作。具体如下图:

image

至此,RxJava原理讲解完毕。

5. 基本使用 本文只关注 RxJava的基本使用,更深入的RxJava使用请继续关注Carson_Ho的RxJava系列Rxjava的使用方式有两种: 分步骤实现:该方法主要为了深入说明Rxjava的原理 & 使用,主要用于演示说明基于事件流的链式调用:主要用于实际使用 5.1 方式1:分步骤实现

5.1.1 使用步骤

image

5.1.2 步骤详解

步骤1:创建被观察者 (Observable )& 生产事件

即 顾客入饭店 - 坐下餐桌 - 点菜具体实现

// 1\. 创建被观察者 Observable 对象 Observable observable = Observable.create(new ObservableOnSubscribe() { // create() 是 RxJava 最基本的创造事件序列的方法 // 此处传入了一个 OnSubscribe 对象参数 // 当 Observable 被订阅时,OnSubscribe 的 call() 方法会自动被调用,即事件序列就会依照设定依次被触发 // 即观察者会依次调用对应事件的复写方法从而响应事件 // 从而实现被观察者调用了观察者的回调方法 & 由被观察者向观察者的事件传递,即观察者模式 // 2\. 在复写的subscribe()里定义需要发送的事件 @Override public void subscribe(ObservableEmitter emitter) throws Exception { // 通过 ObservableEmitter类对象产生事件并通知观察者 // ObservableEmitter类介绍 // a. 定义:事件发射器 // b. 作用:定义需要发送的事件 & 向观察者发送事件 emitter.onNext(1); emitter.onNext(2); emitter.onNext(3); emitter.onComplete(); } }); // 方法1:just(T...):直接将传入的参数依次发送出来 Observable observable = Observable.just("A", "B", "C"); // 将会依次调用: // onNext("A"); // onNext("B"); // onNext("C"); // onCompleted(); // 方法2:from(T[]) / from(Iterable


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3