需要引入的依赖包,这个依赖包依赖于RxJava和RxAndroid,会自动引入进来,也可以自己手动单独的引入。 compile 'com.jakewharton.rxbinding:rxbinding:0.4.0' /** * Scheduler线程切换 * <p> * 这种场景经常会在“后台线程取数据,主线程展示”的模式中看见 */ private void rj1()
转载 10月前
37阅读
RxJava 笔记注意:这只是学习的过程,为了学习rxjava怎么由callback嵌套转换而来,其中的map和flatMap 都只是精简过后的一个概念,不是真正的样子感谢W_BinaryTree2楼 · 2017.05.12 01:07flatMap不仅仅是把item封装成observable。 还有个merge的过程。同步时Response newsList = netApi.getNews
RxJava2.0新特性简单总结介绍下:不再支持传null,传了直接正常结束或者抛异常;Observable不再支持背压,新加入Flowable支持非阻塞的背压,并且所有操作符都强制支持背压;Single类可单独发送onSuccess或onError消息;Completable只是改变了命名;新增Maybe,可以说是Single和Completable结合体,只能发送0或1个事件或错误;很多基础类
转载 2023-09-29 10:01:38
68阅读
RxJava 学习笔记(一)概念Rxjava 从去年开始就有耳闻,在各大开源项目中也可以看到有使用他的,各大牛也说他好用,既然大家都说好,具体好不好我们自己学着用一下就知道了,刚好这段时间项目闲下来就来学习一下RxJava。1 是什么同样,在用一个东西之前,要先知道他是什么东西。“RxJava is a Java VM implementation of Reactive Extensions:
转载 2024-02-20 22:33:22
42阅读
线程控制 —— Scheduler由于 Rx 目标是用在异步系统上并且 Rx 支持多线程处理,所以很多 Rx 开发者认为默认情况下 Rx 就是多线程的。 其实实际情况不是这样的,Rx 默认是单线程的。在不指定线程的情况下, RxJava 遵循的是线程不变的原则,即:在哪个线程调用subscribe(),就在哪个线程生产事件;在哪个线程生产事件,就在哪个线程消费事件。如果需要切换线程,就需要用到 S
RxJava2 方法总结看了许多讲解RxJava的文章,有些文章讲解的内容是基于第一个版本的,有些文章的讲解是通过比较常用的一些API和基础的概念进行讲解的。但是每次看到RxJava的类中的几十个方法的时候,总是感觉心里没底。所以,我打算自己去专门写篇文章来从API的角度系统地梳理一下RxJava的各种方法和用法。1、RxJava 基本1.1 RxJava 简介RxJava是一个在Java VM上
转载 2019-06-24 22:03:00
89阅读
根据所参考文章,写一写自己对RXjava要点的整理。 Subscriber 比 observer观察者 多出以下两个接口,其他他们都有可以被observable被观察者回调的方法 onNext 触发onCompleted作为结束标志 onCompleted 事件队列完结标志 和 onError 时间队列异常标志onCompleted和 onError只能够触发一个 根据被观察者创建形式不同 事
背压(backpressure)当上下游在不同的线程中,通过Observable发射,处理,响应数据流时,如果上游发射数据的速度快于下游接收处理数据的速度,这样对于那些没来及处理的数据就会造成积压,这些数据既不会丢失,也不会被垃圾回收机制回收,而是存放在一个异步缓存池中,如果缓存池中的数据一直得不到处理,越积越多,最后就会造成内存溢出,这便是响应式编程中的背压(backpressure)问题。 例
转载 2023-10-24 09:04:43
88阅读
前言在上篇文章对RxJava 的工作流程进行的简单的分析,今天来分享一下线程切换的流程。如果觉得源码枯燥可以直接移至文末看图理解。实例代码Observable.create(new ObservableOnSubscribe<Object>() { @Override public void subscribe(@NonNull Obse
转载 2023-09-22 11:11:17
43阅读
RxJava切换线程是怎么实现的呢?lift变换过程要明白 RxJava 切换线程切换线程的原理,我们首先得理解变换过程。 对于变换过程,我的理解就是:Observable.create(new Observable.OnSubscribe<String>() { @Override public void call(Subscriber<? s
转载 3月前
408阅读
切换线程在上游和下游之间增加切换线程的操作,如果手写map操作符明白的话, 这里就很简单。使上游执行在子线程的ObservableOnSubscribe的子类// 上游处理 异步线程的 Observable的子类 [给所有上游 切换异步线程] public class ObservableOnIO<T> implements ObservableOnSubscribe<T
2016-06-06  RxJava是最近两火起来的一个框架,核心是异步,但是对于我来说印象最深的是响应式编程的思想。最近刚好想把自己的项目改成用RxJava实现,所以就研究了下。抛物线和大头鬼两位大牛也讲解的很详细和形象,其实RxJava里除了这种响应式的编程思想不太好理解外,操作符也是比较难理解的一部分。响应式编程思想不是三言两语就能讲清楚,想学习的人也不是通过看几遍blog就能学会的。我这
转载 2024-02-27 12:40:45
32阅读
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
转载 1月前
383阅读
今天就不啰嗦了,直接开始我们今天的学习。今天介绍一些辅助操作符。Delay该操作符让原始Observable在发射每项数据之前都暂停一段指定的时间。它接受一个定义时长的参数(包括long型数据和单位)。每当原始Observable发射一项数据,delay就启动一个定时器,当定时器过了给定的时间段时,delay返回的Observable发射相同的数据项。他默认是在computation调度器上执
在第1部分中,我讨论了RxJava的基本结构,并介绍了map()operator。但是,如果你仍然没有意愿去使用RxJava,我可以理解。因为还你没有大量的工作。但是这将迅速改变–RxJava的大部分功能是包含在在框架中的所有Operators。让我们通过一个例子向你介绍更多的Operators。假设假设我这样一个方法:// Returns a List of website URLs based
【谜之RxJava (二) —— Magic Lift】Rxjava -- 一个异步库RxJava最迷人的是什么?答案就是把异步序列写到一个工作流里!和javascript的Promise/A如出一辙。OK,在java中做异步的事情在我们传统理解过来可不方便,而且,如果要让异步按照我们的工作流来,就更困难了。但是在RxJava中,我们只要调用调用subscribOn()和observeOn()就能
转载 2023-06-25 20:34:37
149阅读
简介RxJava 是一个响应式编程框架,采用观察者设计模式。所以自然少不了 Observable 和 Subscriber 这两个东东了。 RxJava最核心的两个东西是Observables(被观察者,事件源)和Subscribers(观察者)。Observables发出一系列事件,Subscribers处理这些事件。这里的事件可以是任何你感兴趣的东西(触摸事件,web接口调用返回的数据。。。
前言  上一篇我们了解了RxJava的介绍以及通过一个例子学习了RxJava的展现形式,相信大家现在已经对RxJava有一个初步的印象与概念了。本篇我们将更深入的学习RxJava的基本原理以及如何使用RxJava。观察者模式  上一篇有提到RxJava的核心便是扩展的观察者模式,我们先来学习一下观察者模式。   事件:小明按下遥控器开关,空调启动并开始吹风了。按下制冷按键,空调吹出的风变为
目录RxJava简单介绍文章目的环境搭建和代码示例分析subscribeOn(Schedulers.io())Schedulers.io()subscribeOn()总结 RxJava简单介绍RxJava现在几乎每个Android项目中都有它的身影,RxJava是使用了Rx(ReactiveX)函数库的语言库,Rx是一个函数库,让开发者可以利用可观察序列和LINQ风格查询操作符来编写异步和基于事
转载 2023-08-28 20:04:12
91阅读
  • 1
  • 2
  • 3
  • 4
  • 5