一、RxJava2 整体功能分析下面这段代码很简单,就是事件源会在当前线程通过 e.onNext() 的方式发送 “1”,”2”,”3” 三个事件,最后发送 e.onComplete() 第四个事件,那么在订阅者 Observer 中就可以收到这个几个由事件源发送的事件。接下来通过源码的角度分析下面这段代码的整体逻辑在分析代码之前需要明白一个原则,那就是了解一个类首先先了解这个类的顶层接口,通过顶
RxJava操作符图谱先对RxJava的操作符有一个整体结构的认识,然后从简单的操作符入手开始研究。转换操作符 – mapmap是RxJava中最简单的一个变换操作符了, 它的作用就是对Observable发送的每一个事件应用一个函数, 使得每一个事件都按照指定的函数去变化. 一个简单的例子:Observable.create(new ObservableOnSubscribe<Intege
转载
2024-01-25 21:20:49
106阅读
1,from将一组数据,按顺序依次发射出去private void rxFromUse() {
List<String> list = new ArrayList<>();
list.add("from1");
list.add("from2");
list.add("from3");
list
转载
2024-02-21 11:14:46
21阅读
文章目录简要:1. CombineLatest2. Join3. Merge3.1 merge3.2 mergeDelayError4. Zip5. StartWith6. SwitchOnNext6.1 switchOnNext6.2 switchOnNextDelayError小结 简要:需求了解:在使用 RxJava 开发的过程中,很多时候需要结合多个条件或者数据的逻辑判断,比如登录功能的
转载
2023-07-30 01:00:12
128阅读
1. RxJava 并行操作被观察者( Observable/Flowable/Single/Completable/May )发射的数据流可以经历各种线程切换,但是数据流的各个元素之间不会产生并行执行的效果。井行不是并发,也不是同步,更不是异步。并发( concurrency )是指一个处理器同时处理多个任务。并行( parallelism )是多个处理器或者是多核的处理器同时处理多个不同的任务
转载
2023-08-16 05:53:10
210阅读
RxJava一、RxJava的优势以及基本使用1、优势1、代码逻辑清晰 优雅2、避免回调订阅3、线程调度2、使用示例Observable observable = Observable.create(new ObservableOnSubscribe() {
@Override
public void subscribe(ObservableEmitter e) t
转载
2023-10-25 20:37:33
14阅读
RxJava 的线程调度实现原理一、概述二、线程调度的原理三、线程调度操作符1. 操作符 subscribeOn()2. 操作符 observeOn()3. 示例代码分析四、其它线程切换到主线程的流程分析 一、概述RxJava 是一个响应式编程框架,里面代码比较复杂,本系列文章将从以下几个角度来分析这个框架。RxJava 的链路调用流程。RxJava 的常用操作符 map、flatmap。RxJ
转载
2023-08-25 23:10:10
105阅读
本文讲的是[译] RxJava 中的错误处理, 原文作者:Dmitry Ryadnenko Drawing 一旦你开始使用 RxJava 函数库写代码,你会发现一些东西能有很多不同的实现方式,但是有时你很难立即确定哪种方法最好,错误处理就是其中之一。那么,在 RxJava 中处理错误的最佳方法是什么,又有哪些选择呢?在 onError 消费者中处理错误假设你有一个 Observable
转载
2023-08-12 23:27:06
86阅读
# RxJava 异常处理
RxJava 是一个基于事件流的异步编程库,它提供了丰富的操作符来处理异步事件流。在处理事件流的过程中,我们常常需要处理异常,以确保程序的稳定性和可靠性。本文将介绍 RxJava 中的异常处理机制,并提供相应的代码示例。
## 异常传递
在 RxJava 中,当一个事件流中的某个事件发生异常时,异常会沿着事件流向下传递,直到遇到一个能够处理该异常的操作符。下面是一
原创
2023-10-16 03:01:01
47阅读
# 使用RxJava处理任务的深入探讨
RxJava是一个非常强大的库,它基于观察者模式,使得异步编程变得更加简洁和易于理解。这篇文章将深入探讨如何利用RxJava来处理任务,并通过实际的代码示例帮助大家理解其基本用法和优势。
## 什么是RxJava?
RxJava是Google推出的响应式编程库,它使用可观察的数据流来简化异步编程。通过RxJava,开发者可以创建可组合的异步操作,这使得
原创
2024-09-21 04:13:20
39阅读
坑:list循环体中,对循环的list进行修改会报ConcurrentModificationException错误 今天写了这么一段代码然后报错public static void main(String[] args) {
List <String> list = new ArrayList <> ();
list.
转载
2024-10-09 18:57:01
12阅读
# RxJava延迟处理
## 引言
在编写程序时,我们经常遇到需要延迟执行代码的情况。例如,我们可能需要在一段时间之后执行某个操作,或者周期性地重复执行某个任务。在传统的编程语言中,我们通常使用定时器或循环来实现延迟处理。然而,在使用RxJava时,我们可以利用其强大的功能来轻松地实现延迟处理。
本文将介绍RxJava的延迟处理功能,并提供具体的代码示例。
## RxJava简介
Rx
原创
2024-01-21 04:44:30
203阅读
# RxJava超时处理
## 简介
在开发中,有时我们需要对一些耗时操作进行超时处理,以防止程序长时间等待或者卡死的情况发生。RxJava作为一种强大的响应式编程框架,提供了丰富的操作符来实现超时处理。
本文将介绍如何使用RxJava来实现超时处理,并给出详细的步骤和示例代码。
## 步骤
下面是实现RxJava超时处理的步骤:
Step 1: 创建Observable
Step 2
原创
2024-01-26 14:42:35
207阅读
# 使用RxJava处理List
在Android开发中,经常会遇到需要处理List集合的场景,比如对列表数据进行筛选、变换、排序等操作。为了更加方便高效地处理List集合,我们可以使用RxJava来进行操作。RxJava是一个基于观察者模式的异步事件处理库,可以帮助我们简化数据流的处理过程。
## RxJava简介
RxJava是一个在Java VM上使用可观察序列进行异步和基于事件的程序
原创
2024-03-12 04:17:03
96阅读
组合 / 合并操作符组合 多个被观察者(Observable) & 合并需要发送的事件组合多个被观察者操作符1:concat,concatArray二者区别:组合被观察者的数量,即concat()组合被观察者数量≤4个,而concatArray()则可>4个Observable.concatArray(Observable.just(1,2),
Observ
# 实现RxJava并发处理
## 流程图
```mermaid
flowchart TD
A(创建Observable对象) --> B(设定线程调度器)
B --> C(定义转换操作符)
C --> D(定义观察者)
```
## 任务流程
| 步骤 | 操作 |
| ---- | ---- |
| 1 | 创建Observable对象 |
| 2 | 设定线程调度
原创
2024-03-19 03:27:18
16阅读
Java 8 中 stream 相关用法?在 Java 8 中, 集合接口有两个方法来生成流:stream() 为集合创建串行流。parallelStream() 为集合创建并行流forEach Stream 提供了新的方法 'forEach' 来迭代流中的每个数据。以下代码片段使用 forEach 输出了10个随机数:map 方法用于映射每个元素到对应的结果,以下代码片段使用 map 输出了元素
转载
2024-02-20 13:49:56
19阅读
目录简要:1. Catch1.1 onErrorReturn1.2 onErrorResumeNext1.3 onExceptionResumeNext2. Retry2.1 retry()2.2 retry(long times)2.3 retry(long times, Predicate predicate)2.4 retry(Predicate predicate)2.5 retry(Bi
转载
2023-08-18 20:59:12
272阅读
RxJava在Android的开发里,一般用于网络请求,配合retrofit和OKhttp。
OKhttp:真正发生网络请求的地方。
retrofit:一个网络请求的框架,底层实现是OKhttp,使用retrofit框架的目的就是使得我们的网络请求更加易用。
转载
2023-08-01 15:13:17
63阅读
Rxjava是什么(异步库、响应式编程)基于自己的理解简单的下一个定义: RxJava是一个使用Java语言实现基于观察者模式拓展而来的高效异步库。1.缓存的逻辑处理取数据时先检查是否有内存缓存,然后再检查是否有文件缓存,再从网络上请求数据,任何一个条件满足则不执行后面的操作,如我们平时去请求图片的逻辑。Observable<String> memory = Observable.cr
转载
2023-08-16 12:50:48
527阅读