熟悉RxJava的知道,onError跟onComplete是互斥的,出现其中一个,观察者与被观察者的关系就被中断(以下简称:管道中断),观察者就永远不会收到来自被观察者发出的事件。然后有些情况下,出现了错误,我们希望可以进行一些补救措施,例如:由于网络原因或者其他原因,Http请求失败了,这个时候我们希望进行重试,又或者去读取本地的缓存数据在使用RxJava的组合操作符进行Http并发请求时,我
1.基础概念介绍1.1 观察者模式观察者模式,其实对于Android开发者而言,并不陌生,button的setOnClickListener,就是一个典型的观察者模式。控件button是被观察者,它产生一个事件(点击),观察者OnClickListener接收到,做出相应的处理,而setOnClickListener就是订阅者,它将两者连接起来以上面为例,观察者模式需要具备的三个角色:被观察者,观
上一篇文章中我们学习了RxJava2中 FlatMap 的原理,同时知道,FlatMap经过转换后发射的数据不是严格有序的,如果需要数据按顺序被发射,RxJava2提供了另外一个操作符, 也是这篇文章的主角 — ConcatMap.FlatMap vs ConcatMap之前分析了FlatMap发射数据无序的原因,但是没有实际用代码验证过,这里我们在分析ConcatMap源码之前,我们先运行测试代
转载 2023-11-20 07:28:02
94阅读
一、准备工作1、需求:(1)多baseurl(2)可设置请求超时时间(3)添加拦截器(4)添加请求头(5)实现可定制BaseResponse(6)BaseView应该有哪些东西?是否可以定制?2、添加依赖二、实现1、创建Retrofit帮助类2、RetrofitFactory3、HttpUrlInterceptor4、IBaseView接口5、IBasePresenter接口6、BasePres
转载 2023-08-24 13:07:33
53阅读
认识 rxjavaRxJava是 ReactiveX 在JVM上的一个实现,ReactiveX使用Observable序列 组合异步和基于事件 的程序。 Observable(观察者) 和 Subscriber(订阅者)是两个主要的类。在 RxJava 上,一个 Observable 是一个发出数据流或者事件的类,Subscriber 是一个对这些发出的 items (数据流或者事件)进行处理(
转载 2023-09-01 12:28:46
99阅读
概述RxJava2 的名气是越来越大,对应的在开发中使用的就越来越多,而日常开发中最长打交道的就是那些操作符(Operators),本文目的仅仅是为了记录map操作符的使用方法及场景,不会太多涉及Rxjava2本身的知识。如需详细学习,请移步官方网址:操作符首先应该明白操作符是用来干什么的,RxJava以存在一个数据流的概念,从Observable发射数据,数据流经过操作符的处理,最后被Obser
转载 2024-05-16 12:39:10
44阅读
# Android中的RxJava Zip操作符详解 在Android开发中,使用RxJava可以方便地进行异步操作和事件处理。其中,Zip操作符是一种非常有用的操作符,可以用于同时处理多个Observable发射的数据流。本文将介绍Android中的RxJava Zip操作符的用法,并通过代码示例进行详细说明。 ## 什么是Zip操作符 Zip操作符可以将多个Observable发射的数据
原创 2024-05-29 03:53:05
145阅读
# 使用RxJava实现merge和zip操作 ## 简介 在使用RxJava进行并发编程时,经常会遇到需要合并多个Observable流或者将多个Observable流的数据按照一定规则组合起来的情况。这时,我们可以使用RxJava提供的merge和zip操作符来实现这些功能。 ## 整体流程 下面是整个流程的概述,具体的步骤和代码说明将在后续部分展开。 ```mermaid journe
原创 2024-01-11 12:24:08
38阅读
Retrofit2是square公司出品的一个网络请求库,网上有很多相关的介绍。我很久以前都想去研究了,但一直都有各种事情耽搁,现在就让我们一起去捋一捋,这篇主要讲解Retrofit2与RxJava的基本用法。get请求 post请求文件上传文件下载开启日志拦截与RxJava结合使用什么是Retrofit2官网是这么介绍的:Retrofit adapts a Java interface to H
转载 2024-09-19 07:27:02
17阅读
1.1.转换类操作符(map  flatMap  concatMap  flatMapIterable   switchMap   scan   groupBy...);1.2过滤类操作符(fileter take takeLast takeUntil distinct distinctUntilChange
转载 2023-07-30 22:19:40
813阅读
## 如何使用RxJava下载zip文件 作为一名经验丰富的开发者,你必须了解如何使用RxJava下载zip文件。现在有一位刚入行的小白需要你的帮助,让我们一起来完成这个任务吧。 ### 整体流程 首先,让我们通过以下表格展示整个下载zip文件的流程: | 步骤 | 描述 | | ---- | -------------------- | | 1 |
原创 2024-06-11 05:16:38
74阅读
What is Kotlin?Kotlin是JVM和Android的实用编程语言,结合了OO和功能特性,专注于互操作性,安全性,清晰度和工具支持。本文记录自己学习kotlin认为需要记录的重点,如果需要详细学习,请点击Kotlin中文文档学习。基本类型在 Kotlin 中,所有变量的成员方法和属性都是一个对象。一些类型是内建的,它们的实现是优化过的,但对用户来说它们就像普通的类一样。数值
转载 2024-08-26 19:43:04
21阅读
1、变量class ArgUtils { /** * 变量 : var 可变变量, val 不可变变量 * 可以简单的理解为var是可写的,在它生命周期中可以被多次赋值;而val是只读的,仅能一次赋值 * * 一个不可变对象意味着它在实例化之后就不能再去改变它的状态了。 * 如果你需要一个这个对象修改之后的版本,那就会再创建一个新的对象。
转载 2024-10-31 13:47:39
56阅读
RxJava2五大金刚分别为Observable、Flowable、Single、Completable以及Maybe。除了Observable,实际上其余四个的实现方式或者使用方式和Observable类似。都是最终形成形如source.subscribe(observer)此等形式。Observable已经做了分析,接下来我们来分析下其余四种,主要分析下各自的作用。分析之前要说下,虽然本文称为
转载 2023-09-27 17:41:21
91阅读
# 使用 Kotlin 代替 RxJava 在 Android 开发中,RxJava 是一个非常流行的库,用于处理异步事件和数据流。然而,随着 Kotlin 的普及和发展,许多开发者开始使用 Kotlin 替代 RxJava 来简化代码并提高效率。本文将介绍如何使用 Kotlin 代替 RxJava,并给出相应的代码示例。 ## 为什么选择 Kotlin 代替 RxJava RxJava
原创 2024-06-25 06:23:38
113阅读
上一篇介绍了 Android Studio安装Kotlin插件和使用,本篇介绍Kotlin基本语法。一 变量(var)和常量(val)Kotlin 语言声明一个变量使用关键字var,声明一个常量使用val,声明时如果没有指定类型可以自动推测出字段类型。1 常量 (val)val a: Int = 1 // 定义常量时进行赋值 val b = 2 // 自动推测常量类型为 Int val
1、merge操作符、zip操作符和join操作符 merge是组合多个被观察者一起发送数据,合并后 按发送顺序串行执行。 zip合并后的新数组长度是两个数组中长度小的那个,并且合并的方式可以由我们自己定义。 join合并后的新数组是连个数组的乘积(较少用到)。2、collect操作符 collect作用是将被观察者Observable发送的数据事件收集到一个数据结构里。 我们在项目中时常会遇到如
转载 2023-09-22 21:25:18
360阅读
zip操作符允许接受多个ObservableSource发射的数据,并能够将他们重新组合并重新发射的一种操作符。常见的使用方式: 首先传入若干个ObservableSource,然后每个ObservableSource都能通过observer.onNext来发射数据,最终在Function接口实现方法中可以获取到这些数据,并做一个重新整合或其他操作,然后返回。比如这里我将获取的值相加然后返回,最终
一、zip 操作符概述官方文档描述:Returns an Observable that emits the results of a specified combiner function applied to combinations of two items emitted, in sequence, by two other Observables.流程图:简单来说 zip 操作符就是合并
转载 2023-08-02 16:12:36
155阅读
# RxJava 中的 `merge` 与 `zip` 操作符 在响应式编程中,RxJava 是一个非常流行的库,它提供了丰富的操作符来处理异步数据流。在处理多个数据流时,`merge` 和 `zip` 是两个常用的操作符,它们在功能上有所不同。本文将介绍这两个操作符的区别,并提供一个代码示例来展示如何将 `merge` 替换为 `zip`。 ## `merge` 操作符 `merge` 操
原创 2024-07-24 11:21:05
30阅读
  • 1
  • 2
  • 3
  • 4
  • 5