基础Java项目有一组有限的task用于互相处理生成一个输出。 classes是一个编译Java源代码的task。可以在build.gradle文件中通过脚本很容易使用classes。这是project.tasks.classes的缩写。 在Android项目中,相比之下这就有点复杂。因为Android项目中会有大量相同的task,并且它们的名字基于Build Types和Product Flav
这一节解释 BlockingObservable 的子类. 一个阻塞的Observable 继承普通的Observable类,增加了一些可用于阻塞Observable发射的数据的操作符。 要将普通的Observable 转换为 BlockingObservable,可以使用 Observable.toBlocking( )) 方法或者BlockingObservable.from( )) 方法。
To 将Observable转换为另一个对象或数据结构 ReactiveX的很多语言特定实现都有一种操作符让你可以将Observable或者Observable发射的数据序列转换为另一个对象或数据结构。它们中的一些会阻塞直到Observable终止,然后生成一个等价的对象或数据结构;另一些返回一个发射那个对象或数据结构的Observable。 在某些ReactiveX实现中,还有一个操作符用于将O
Replay 保证所有的观察者收到相同的数据序列,即使它们在Observable开始发射数据之后才订阅 可连接的Observable (connectable Observable)与普通的Observable差不多,不过它并不会在被订阅时开始发射数据,而是直到使用了Connect操作符时才会开始。用这种方法,你可以在任何时候让一个Observable开始发射数据。 如果在将一个Observabl
RefCount 让一个可连接的Observable行为像普通的Observable 可连接的Observable (connectable Observable)与普通的Observable差不多,不过它并不会在被订阅时开始发射数据,而是直到使用了Connect操作符时才会开始。用这种方法,你可以在任何时候让一个Observable开始发射数据。 RefCount操作符把从一个可连接的Obser
Publish 将普通的Observable转换为可连接的Observable 可连接的Observable (connectable Observable)与普通的Observable差不多,不过它并不会在被订阅时开始发射数据,而是直到使用了Connect操作符时才会开始。用这种方法,你可以在任何时候让一个Observable开始发射数据。 RxJava的实现为publish。 Javadoc:
Connect 让一个可连接的Observable开始发射数据给订阅者 可连接的Observable (connectable Observable)与普通的Observable差不多,不过它并不会在被订阅时开始发射数据,而是直到使用了Connect操作符时才会开始。用这个方法,你可以等待所有的观察者都订阅了Observable之后再开始发射数据。 RxJava中connect是Connectab
这一节解释ConnectableObservable 和它的子类以及它们的操作符: ConnectableObservable.connect( ) — 指示一个可连接的Observable开始发射数据 Observable.publish( ) — 将一个Observable转换为一个可连接的Observable Observable.replay( ) — 确保所有的订阅者看到相同的数据序列,
下面的这些操作符属于单独的rxjava-async模块,它们用于将同步对象转换为Observable。 start( ) — 创建一个Observable,它发射一个函数的返回值 toAsync( ) or asyncAction( ) or asyncFunc( ) — 将一个函数或者Action转换为已Observable,它执行这个函数并发射函数的返回值 startFuture( ) — 将
Using 创建一个只在Observable生命周期内存在的一次性资源 Using操作符让你可以指示Observable创建一个只在它的生命周期内存在的资源,当Observable终止时这个资源会被自动释放。 using操作符接受三个参数: 一个用户创建一次性资源的工厂函数 一个用于创建Observable的工厂函数 一个用于释放资源的函数 当一个观察者订阅using返回的Observable时,
Timestamp 给Observable发射的数据项附加一个时间戳 RxJava中的实现为timestamp,它将一个发射T类型数据的Observable转换为一个发射类型为Timestamped<T>的数据的Observable,每一项都包含数据的原始发射时间。 timestamp默认在immediate调度器上执行,但是可以通过参数指定其它的调度器。 Javadoc: timestamp()
Timeout 对原始Observable的一个镜像,如果过了一个指定的时长仍没有发射数据,它会发一个错误通知 如果原始Observable过了指定的一段时长没有发射任何数据,Timeout操作符会以一个onError通知终止这个Observable。 RxJava中的实现为timeout,但是有好几个变体。 第一个变体接受一个时长参数,每当原始Observable发射了一项数据,timeout就
TimeInterval 将一个发射数据的Observable转换为发射那些数据发射时间间隔的Observable TimeInterval操作符拦截原始Observable发射的数据项,替换为发射表示相邻发射物时间间隔的对象。 RxJava中的实现为timeInterval,这个操作符将原始Observable转换为另一个Observable,后者发射一个标志替换前者的数据项,这个标志表示前者的
SubscribeOn 指定Observable自身在哪个调度器上执行 很多ReactiveX实现都使用调度器 “Scheduler“来管理多线程环境中Observable的转场。你可以使用SubscribeOn操作符指定Observable在一个特定的调度器上运转。 ObserveOn操作符的作用类似,但是功能很有限,它指示Observable在一个指定的调度器上给观察者发通知。 在某些实现中还
Subscribe 操作来自Observable的发射物和通知 Subscribe操作符是连接观察者和Observable的胶水。一个观察者要想看到Observable发射的数据项,或者想要从Observable获取错误和完成通知,它首先必须使用这个操作符订阅那个Observable。 Subscribe操作符的一般实现可能会接受一到三个方法(然后由观察者组合它们),或者接受一个实现了包含这三个方