RxJava系列的文章已经写了有七篇了,相信读者已经对它比较熟悉了。介绍了那么多,那么到底RxJava在真实开发中会有哪些地方用到呢?今天和大家介绍一下它的经典使用场景。RxJava + RetrofitRetrofit 除了提供了传统的 Callback 形式的 API,还有 RxJava 版本的 Observable 形式 API。下面我用对比的方式来介绍 Retrofit 的 RxJava
目录一、简单使用二、线程调度2.1 subScribeOn2.2 observeOn2.3 线程切换需要注意 三、操作符3.1 map3.2 concat3.3 FlatMap3.4 concatMap3.5 zip3.6 interval3.7 distinct3.8 Filter3.9 buffer3.10 timer3.11 doOnNext3.12 skip3.13 t
目录 一、概述二、map操作符三、线程调度1、subscribeOn2、observeOn四、总结一、概述 在上一篇文章,咱们详细分析了Rxjava2的结构流程:RxJava2源码分析(上):架构解析。那么这篇文章就来分析RxJava2的精髓:操作符和及其线程调度。 二、map操作符 在RxJava2中有将近50个操作符可以帮
一、准备工作要求Android Studio版本是1.5+,使用eclipse的同学暂时还没有办法使用该框架classpath 'com.android.tools.build:gradle:1.5.0'修改对应模块(Module)的 build.gradledataBinding {
enabled true
}二、MVVM的简单应用第一步:创建XML布局创建一个布局xml文件,就像以前
转载
2023-09-15 17:15:44
56阅读
RxJava2.0新特性简单总结介绍下:不再支持传null,传了直接正常结束或者抛异常;Observable不再支持背压,新加入Flowable支持非阻塞的背压,并且所有操作符都强制支持背压;Single类可单独发送onSuccess或onError消息;Completable只是改变了命名;新增Maybe,可以说是Single和Completable结合体,只能发送0或1个事件或错误;很多基础类
转载
2023-09-29 10:01:38
68阅读
RxJava 笔记注意:这只是学习的过程,为了学习rxjava是怎么由callback嵌套转换而来,其中的map和flatMap 都只是精简过后的一个概念,不是真正的样子感谢W_BinaryTree2楼 · 2017.05.12 01:07flatMap不仅仅是把item封装成observable。 还有个merge的过程。同步时Response newsList = netApi.getNews
转载
2024-02-05 13:22:46
16阅读
一概要:RxJava已经被越来越多的人使用,提及。个人也觉得非常好用,优秀。这里做一个简单的归纳。1,RxJava是什么:GitHub上介绍(翻译):一个在Java VM上使用可观测的序列来组成异步的,基于事件的程序的库。简单点:一个实现异步操作的库。类似Handler,与AsyncTask。2,RxJava优点是什么:相对于Handler/AsyncTask,RxJava使用非常简洁。使用一个链
转载
2023-08-31 13:51:28
151阅读
导入我相信大家肯定对ReactiveX 和 RxJava 都不陌生,因为现在只要是和技术相关的网站,博客都会随处见到介绍ReactiveX和RxJava的文章。ReactiveXReactiveX是Reactive Extensions 的缩写,即响应式编程的扩展。“a library for composing asynchronous and event-based programs usin
转载
2023-09-25 12:14:50
48阅读
RxJava最重要的概念是什么?几个操作符方便你把数据变来变去,方便你做线程调度,让你不用去看callback hell?确实很方便,但如果只看到这一层,未免过于肤浅。以我用RxJava这几年肤浅的体验来看,RxJava最大的作用是提供一个优秀的,现成的响应式/流式调用封装,而你只需付出些许学习成本就可以少做很多工作。一个RxJava的调用链从create开始到subscribe结束,可以大概把整
转载
2023-06-24 22:53:05
143阅读
RxJava2 方法总结看了许多讲解RxJava的文章,有些文章讲解的内容是基于第一个版本的,有些文章的讲解是通过比较常用的一些API和基础的概念进行讲解的。但是每次看到RxJava的类中的几十个方法的时候,总是感觉心里没底。所以,我打算自己去专门写篇文章来从API的角度系统地梳理一下RxJava的各种方法和用法。1、RxJava 基本1.1 RxJava 简介RxJava是一个在Java VM上
转载
2019-06-24 22:03:00
89阅读
线程控制 —— Scheduler由于 Rx 目标是用在异步系统上并且 Rx 支持多线程处理,所以很多 Rx 开发者认为默认情况下 Rx 就是多线程的。 其实实际情况不是这样的,Rx 默认是单线程的。在不指定线程的情况下, RxJava 遵循的是线程不变的原则,即:在哪个线程调用subscribe(),就在哪个线程生产事件;在哪个线程生产事件,就在哪个线程消费事件。如果需要切换线程,就需要用到 S
转载
2023-08-10 13:29:05
89阅读
RxJava 学习笔记(一)概念Rxjava 从去年开始就有耳闻,在各大开源项目中也可以看到有使用他的,各大牛也说他好用,既然大家都说好,具体好不好我们自己学着用一下就知道了,刚好这段时间项目闲下来就来学习一下RxJava。1 是什么同样,在用一个东西之前,要先知道他是什么东西。“RxJava is a Java VM implementation of Reactive Extensions:
转载
2024-02-20 22:33:22
42阅读
根据所参考文章,写一写自己对RXjava要点的整理。 Subscriber 比 observer观察者 多出以下两个接口,其他他们都有可以被observable被观察者回调的方法 onNext 触发onCompleted作为结束标志 onCompleted 事件队列完结标志 和 onError 时间队列异常标志onCompleted和 onError只能够触发一个 根据被观察者创建形式不同 事
需要引入的依赖包,这个依赖包依赖于RxJava和RxAndroid,会自动引入进来,也可以自己手动单独的引入。
compile 'com.jakewharton.rxbinding:rxbinding:0.4.0' /**
* Scheduler线程切换
* <p>
* 这种场景经常会在“后台线程取数据,主线程展示”的模式中看见
*/
private void rj1()
RxJava 的适用场景和使用方式1. 与 Retrofit 的结合Retrofit 是 Square 的一个著名的网络请求库。没有用过 Retrofit 的可以选择跳过这一小节也没关系,我举的每种场景都只是个例子,而且例子之间并无前后关联,只是个抛砖引玉的作用,所以你跳过这里看别的场景也可以的。Retrofit 除了提供了传统的 Callback 形式的 API,还有 RxJ
转载
2023-09-14 21:23:16
60阅读
背压(backpressure)当上下游在不同的线程中,通过Observable发射,处理,响应数据流时,如果上游发射数据的速度快于下游接收处理数据的速度,这样对于那些没来及处理的数据就会造成积压,这些数据既不会丢失,也不会被垃圾回收机制回收,而是存放在一个异步缓存池中,如果缓存池中的数据一直得不到处理,越积越多,最后就会造成内存溢出,这便是响应式编程中的背压(backpressure)问题。 例
转载
2023-10-24 09:04:43
88阅读
# 用协程取代RxJava
## 介绍
在Android开发中,RxJava是非常常用的异步编程库,但是随着Kotlin语言的发展和Android Jetpack的引入,协程逐渐成为替代RxJava的一个选择。协程提供了一种更简洁、更易于理解和维护的异步编程方式。本文将指导你如何将RxJava代码转换为协程代码,并为你提供了一些实用的示例。
## RxJava和协程的基本概念
在开始之前,让我
原创
2024-01-15 09:45:18
204阅读
简介RxJava2.0提供了5中操作符的基类,分别为Observable,Flowable,Single,Completable,Maybe;前面几篇文章都是以Observable介绍相关的操作符,Observable是非背压,可选的多值基类,提供工厂方法,操作符和处理同步或者异步数据流的能力;Observable的操作符默认提供缓存空间大小128,但是大多数操作符实现类允许显示的设置缓存区大小。
转载
2024-09-23 20:58:19
61阅读
# RxJava中的设计模式
## 引言
RxJava是一个响应式编程库,它基于观察者模式,为异步编程提供了一种优雅的解决方案。在RxJava中,有多种设计模式被有效地应用,帮助开发者管理异步数据流、事件流等。本文将探讨这些设计模式,并通过代码示例进行说明。
### 观察者模式
观察者模式是RxJava的核心设计模式。在该模式中,存在一个被观察者(Observable)和多个观察者(Obs
RxJava切换线程是怎么实现的呢?lift变换过程要明白 RxJava 切换线程切换线程的原理,我们首先得理解变换过程。 对于变换过程,我的理解就是:Observable.create(new Observable.OnSubscribe<String>() {
@Override
public void call(Subscriber<? s