RXJAVA之Subject】的更多相关文章

RxJava中常见的Subject有4种,分别是 AsyncSubject. BehaviorSubject.PublishSubject. ReplaySubject. AsyncSubject 使用AsyncSubject无论输入多少参数,永远只输出最后一个参数. BehaviorSubject BehaviorSubject会发送离订阅最近的上一个值,没有上一个值的时候会发送默认值. BehaviorSubject<Integer> subject = BehaviorSubject.c…
上次提到调用observable的publish和connect方法后可以将一个Observable发出的对象实时传递到订阅在上的subscriber. 这个和Rxjava中Subject的概念十分相像.Subject是可以理解为桥接或者代理,可以订阅Observable也可以自己作为Observable提供Subscriber订阅. Rxjava提供PublishSubject其功能与上次提到的publish+connect一样 @Test public void testPublishSub…
No1: RxJava使用 dependencies{ compile 'io.reactivex:rxjava:1.2.0' compile 'io.reactivex:rxandroid:1.2.1' } 1)创建Observer(观察者) Subscriber subscriber = new Subscriber<String>(){ @Override public void onCompleted(){ Log.d(TAG,"onCompleted"); } @…
作者简介 本篇来自 小河马 的投稿,分享了自己是如何进行 RxJava+Retrofit 的封装.本文的技术点自然没话说,另外对于这种模块化的思路,希望能帮助到大家.最后提前祝大家周末愉快以及圣诞快乐! 小河马 的博客地址: http://www.jianshu.com/users/14354bcb0e09 前言 Retrofit 和 RxJava 已经出来很久了,很多前辈写了很多不错的文章,在此不得不感谢这些前辈无私奉献的开源精神,能让我们站在巨人的肩膀上望得更远.对于 RxJava 不是很了…
Key Types and Life Management 本文主题是 Rx 中的基础类型 Subject 类及其生命周期的管理. 公共代码 RxNET private static void WriteSequenceToConsole(IObservable<string> sequence) { sequence.Subscribe(Console.WriteLine); } RxSwift extension ObservableType { func addObserver(_ id…
Schedulers, threading and testing 本文的主题为调度器,多线程以及测试. RxJava操作符(六)Utility SubscribeOn / ObserveOn SubscribeOn / ObserveOn 用来指定数据流和观察者所运行的线程. 这里数据流的运行是指数据流创建,转化,发送数据以及最后销毁的全过程. 这里观察者的运行是指数据流发送数据和观察者观察数据的过程. SubscribeOn / ObserveOn 指定线程是通过指定调度器来完成的. Sub…
Subject Subject可以看成是一个桥梁或者代理,在某些ReactiveX实现中(如RxJava),它同时充当了Observer和Observable的角色.因为它是一个Observer,它可以订阅一个或多个Observable:又因为它是一个Observable,它可以转发它收到(Observe)的数据,也可以发射新的数据. 由于一个Subject订阅一个Observable,它可以触发这个Observable开始发射数据(如果那个Observable是"冷"的--就是说,它…
前言: 上篇文章学习了Android事件总线管理开源框架EventBus,EventBus的出现大大降低了开发成本以及开发难度,今天我们就利用目前大红大紫的RxJava来实现一下类似EventBus事件总线管理,现在很多人都在说用这种方式来替代EventBus,今天我们从开发效率,开发难度等维度来分析一下到底能不能取代EventBus? 先回顾一下什么是EventBus?请看这篇文章Android消息传递之EventBus 3.0使用详解(三) 消息传递相关文章地址: Android消息传递之H…
1. RxJava简介 Rx(ReactiveX,响应式编程)是一种事件驱动的基于异步数据流的编程模式,整个数据流就像一条河流,它可以被观测(监听),过滤,操控或者与其他数据流合并为一条新的数据流.而RxJava是.Net Rx在JVM上的实现.RxJava可以应用于大部分基于JVM的语言,如Scala,Groovy等.整个RxJava+RxAndroid的包大小为(1125kb+10kb) 2.RxJava特点 函数响应式编程(Functional Reactive Programming,F…
  最近在研究RxJava自定义操作符的实现原理,发现成型的项目案例较少.突然想起在项目中应用的RxLifecycle是使用自定义操作符,便拿来研究了一下.分析之前,跟大家了解一些相关操作符和RxLifecycle工具包的作用. RxLifecycle   用来严格控制由于发布了一个订阅后,没有及时取消,导致Activity/Fragment无法销毁导致的内存泄露.使用方式参考官方github说明,这里不做重点说明. RxJava操作符   这里是稍微重点介绍一下几个操作符,方便对RxLifec…