Rxjava
文章平均质量分 76
hoko
这个作者很懒,什么都没留下…
展开
-
Rxjava的基本概念
rxjava是一个在jvm上基于事件流实现异步操作的库举一个简单的例子:顾客去饭店吃饭1.进饭店 坐下餐桌 叫服务员 点餐:餐点1 餐点2 餐点3 (顾客 是被观察者(Observable 主要是产生并发送事件)2.服务员通知后厨 并将顾客点的餐点给到后厨 (服务员subscrible 通过订阅来连接被观察者Observable和观察者Observer)3.后厨接收服务员发送...原创 2018-11-09 11:46:21 · 270 阅读 · 0 评论 -
Rxjava中的Subject / Precessor
在Rxjava中Subject / Processor 是一种特殊的存在,它既是Observable又是Observer,rxjava官网中给出的解释是可以将Subject / Processor看成是一个桥梁或者是代理.Subject常见类型有: AsyncSubject , BehaviorSubject , ReplaySubject, Publish...原创 2018-11-10 09:34:03 · 311 阅读 · 0 评论 -
Rxjava中的Hot Observable 和 Cold Observable
在Rxjava中Observable 有 Hot 和 Cold之分. Hot Observable: Hot Observable无论有没有观察者进行订阅事件始终都会发生. 当Hot Observable 有多个订阅者时(即多个订阅者进行订阅时),Hot Observable与订阅者们的关系是一对多的关系,可以与多个订阅者共享信息. Cold Observa...原创 2018-11-10 09:33:26 · 1135 阅读 · 0 评论 -
Rxjava中compose()操作符的使用
Rxjava中compose操作符的使用: Compose的作用: 对 Observable 进行整体的变换//rxjava中compose的使用//在安卓中我们使用rxjava进行操作的时候经常会在子线程进行一下常见的操作//然后会回到主线程中进行一些更新UI视图的操作Observable.create(new ObservableOnSubscribe<Int...原创 2018-11-10 09:33:14 · 5246 阅读 · 0 评论 -
Rxjava中的Observable的简化版本Single Completable Maybe
在Rxjava2中,Observale和Flowable都是用来发射数据流的,但是,我们在实际应用中,很多时候,需要发射的数据并不是数据流的形式,而只是一条单一的数据,或者一条完成通知,或者一条错误通知。在这种情况下,我们再使用Observable或者Flowable就显得有点大材小用,于是,为了满足这种单一数据或通知的使用场景,便出现了Observable的简化版——Single、C...原创 2018-11-10 09:32:51 · 1630 阅读 · 0 评论 -
Rxjava2中的Backpressure背压策略
rxjava2中的背压Backpressure策略: 在rxjava常见的使用场景我们一般的操作步骤如下: 1.创建被观察者Observable对象在上游生产事件(Event) 2.通过一系列的操作符operators以及subscribeOn()来对上游Observable生产的数据进行加工处理以及 Observable 生产数据...原创 2018-11-09 17:13:56 · 2127 阅读 · 2 评论 -
Rxjava线程调度模型
rxjava的线程控制(调度/切换):subscribeOn()/ observerOn()1.rxjava线程调度控制的作用: rxjava通过线程调度可以控制Observable(被观察者)/观察者(Observer)工作的线程的类型2.为什么要进行rxjava的线程的调度切换: 在rxjava中被观察者(Observable) / 观察者(Obse...原创 2018-11-09 16:18:21 · 713 阅读 · 0 评论 -
Rxjava操作符之条件布尔操作符
rxjava操作符之条件布尔操作符: 1.条件布尔操作符的作用:通过设置函数,判断被观察者Observable发送的事件是否符合条件 2.条件布尔操作符的常见类型: 1.all()操作符//all()操作符 //all操作符的作用是判断被观察者Observable发送的所有事件是否都满足指定的条件通过一个布尔值来返回给观察者Observer来进行判断 ...原创 2018-11-09 15:48:27 · 332 阅读 · 0 评论 -
Rxjava操作符之过滤操作符
1.过滤操作符的作用:过滤/筛选 被观察者(Observable)发送的事件 以及 观察者(Observer)接收的事件rxjava2中的常见的过滤操作符有以下的常见类型:2.根据指定条件过滤事件需求场景为:通过设置指定的过滤条件,当且仅当该事件满足条件,就将该事件过滤(不发送)2.1 filter()过滤操作符//过滤操作符之filter() ...原创 2018-11-09 15:37:36 · 329 阅读 · 0 评论 -
Rxjava操作符之功能性操作符
Rxjava2常见的功能性操作符有如下的一些: 废话不多说, 直接代码开路:1.subscribe() //功能性操作符 //subscribe()功能是连接被观察者Observable和观察者Observer 之间的桥梁 //创建被观察者对象Observable Observable<Integer> obser...原创 2018-11-09 15:19:37 · 246 阅读 · 0 评论 -
Rxjava操作符之组合合并操作符
Rxjava常见的组合合并操作符如下:1.concat()/ concatArray()//组合 / 合并操作符concat() concatArray() //组合多个被观察者的事件,合并后在一起按照串行顺序进行发送 //concat()和concatArray()前者最多合并4个而后者则可以合并>4个的Observable对象的事件序列 ...原创 2018-11-09 14:59:31 · 495 阅读 · 0 评论 -
Rxjava中flatMap() concatMap() concatMapEager() switchMap()之间的区别
将可观察对象发出的项转换为其他可观察对象是RX编程的重要部分。有几种种常见的转换操作符可以做到这一点,每种操作符都有不同的优点。在下面这个例子中,我将试图解释微妙的差异,并指出这些操作符的最佳用法。直接上代码://变换操作符flatMap() switchMap() concatMap() concatMapEager()的区别以及开发中使用的注意点 //首先我们创建四...原创 2018-11-09 14:37:38 · 1034 阅读 · 0 评论 -
Rxjava之变换操作符
Rxjava常见的变化操作符如下:1.map()变换符 //转换操作符之map() //通过map()操作符对被观察者发送的每一个事件都通过指定的Function对象的apply()方法进行转换处理 //将之前的事件类型转换成为另外的一种事件类型 //即通过map()操作符将我们的被观察者发送的事件转换成为任意的类型的事件 ...原创 2018-11-09 14:12:34 · 212 阅读 · 0 评论 -
Rxjava基本操作符详解
Rxjava中的最基本的操作符有如下几个:1.基本创建操作符 create()Observable<Integer> ob = Observable.create(new ObservableOnSubscribe<Integer>() { @Override public void subscribe(Obse...原创 2018-11-09 13:56:35 · 288 阅读 · 0 评论 -
在Android中合理的使用Rxjava封装同步和异步调用
同步和异步的区别: 一般我们在程序中看到一些耗时的操作的方法,如果它有返回值等待调用者接收的情况就属于同步调用此时当前线程会 阻塞在这里等待结果的返回 异步调用方法一般会调用方法是传入响应的监听器类listener通过接口回调的方式来通知调用者结果而当前线程是不 会阻塞等待结果返回的 当需要封装现有 API 为 Observable 的时候,可以从一下几点来考虑: 如果为同步 ...原创 2018-11-10 09:35:10 · 8924 阅读 · 0 评论