在线二区人妖系列_国产亚洲欧美日韩在线一区_国产一级婬片视频免费看_精品少妇一区二区三区在线

鍍金池/ 教程/ Android/ ReactiveX
調(diào)度器 Scheduler
Empty/Never/Throw
Replay
這個頁面展示了創(chuàng)建Observable的各種方法。
ObserveOn
ReactiveX
TimeInterval
Window
本頁展示的操作符用于對整個序列執(zhí)行算法操作或其它操作,由于這些操作必須等待數(shù)據(jù)發(fā)射完成(通常也必須緩存這些數(shù)據(jù)),它們對于非常長
IgnoreElements
Distinct
Last
Start
And/Then/When
Switch
創(chuàng)建操作
Materialize/Dematerialize
CombineLatest
Catch
實現(xiàn)自己的操作符
StringObservable
Map
ConnectableObservable
Using
Take
BlockingObservable
TakeLast
Defer
RxJavaSchedulersHook
First
FlatMap
這個頁面的操作符可用于根據(jù)條件發(fā)射或變換Observables,或者對它們做布爾運(yùn)算:
Do
Repeat
Serialize
這個頁面展示的操作符可用于過濾和選擇Observable發(fā)射的數(shù)據(jù)序列。
這個頁面列出了很多用于Observable的輔助操作符
Single
Retry
從錯誤中恢復(fù)的技術(shù)
Sample
Merge
算術(shù)和聚合操作
Range
Timestamp
RxJava Issues
From
Subscribe
Subject
Delay
Skip
SubscribeOn
Filter
按字母順序排列的全部操作符列表
Timeout
Scan
onError
Zip
RxJava文檔和教程
Publish
ElementAt
第一個例子
SkipLast
Just
Timer
Debounce
GroupBy
條件和布爾操作
這個頁面展示了可用于對Observable發(fā)射的數(shù)據(jù)執(zhí)行變換操作的各種操作符。
Introduction
rxjava-async
介紹響應(yīng)式編程
這個頁面展示的操作符可用于組合多個Observables。
ReactiveX
Connect
操作符分類
StartWith
Interval
Join
To
Buffer
RefCount
介紹
Observable

ReactiveX

RxJava是 ReactiveX 在JVM上的一個實現(xiàn),ReactiveX使用Observable序列組合異步和基于事件的程序。更多關(guān)于ReactiveX的資料,可以查看 ReactiveX 介紹 頁面。

RxJava介紹

RxJava 是輕量級的

RxJava盡力做到非常輕巧。它僅關(guān)注Observable的抽象和與之相關(guān)的高層函數(shù),實現(xiàn)為一個單獨的JAR文件。

RxJava 是一個多語言實現(xiàn)

RxJava 支持Java 6或者更新的版本,以及其它的JVM語言如 Groovy, Clojure, JRuby, KotlinScala。RxJava 可用于更多的語言環(huán)境,而不僅僅是Java和Scala,而且它致力于尊重每一種JVM語言的習(xí)慣。

RxJava 第三方庫

下面是可與RxJava協(xié)作的第三方庫:

  • Hystrix - 用于分布式系統(tǒng)的一個延時和容錯處理框架
  • Camel RX - 一個用于Apache Camel 的 RxJava 兼容層
  • rxjava-http-tail - 讓你可以跟蹤HTTP日志,就像使用 tail -f 一樣
  • mod-rxvertx - Extension for VertX - 使用 RxJava 封裝的VertX庫
  • rxjava-jdbc - 使用RxJava流式處理JDBC連接,還支持語句的函數(shù)式組合
  • rtree - 使用RxJava實現(xiàn)的一個純內(nèi)存的可變的R-tree和R*-tree

使用指南

你可以在Maven Central http://search.maven.org 找到用于Maven, Ivy, Gradle, SBT和其它構(gòu)建工具需要的二進(jìn)制文件和依賴信息.

Maven示例:

<dependency>
    <groupId>io.reactivex</groupId>
    <artifactId>rxjava</artifactId>
    <version>1.0.10</version>
</dependency>

Ivy示例:

<dependency org="io.reactivex" name="rxjava" rev="1.0.10" />

SBT示例:

libraryDependencies += "com.netflix.rxjava" % "rxjava-scala" % "1.0.10"

Gradle示例:

compile 'io.reactivex:rxjava:1.0.10'

如果你沒有使用構(gòu)建系統(tǒng),想直接下載JAR文件的話可以在這里找到:

https://repo1.maven.org/maven2/io/reactivex/

編譯構(gòu)建

檢出和構(gòu)建RxJava的源碼,使用以下命令:

$ git clone git@github.com:ReactiveX/RxJava.git
$ cd RxJava/
$ ./gradlew build

要執(zhí)行一個完整的構(gòu)建,使用這個命令:

$ ./gradlew clean build

構(gòu)建命令的輸出大概是這樣的:

$ ./gradlew build
:rxjava:compileJava
:rxjava:processResources UP-TO-DATE
:rxjava:classes
:rxjava:jar
:rxjava:sourcesJar
:rxjava:signArchives SKIPPED
:rxjava:assemble
:rxjava:licenseMain UP-TO-DATE
:rxjava:licenseTest UP-TO-DATE
:rxjava:compileTestJava
:rxjava:processTestResources UP-TO-DATE
:rxjava:testClasses
:rxjava:test
:rxjava:check
:rxjava:build

BUILD SUCCESSFUL

Total time: 30.758 secs

執(zhí)行完整的構(gòu)建的話,你會看到單元測試的執(zhí)行,輸出類似于這樣:

> Building > :rxjava:test > 91 tests completed

故障排除

有一位開發(fā)者上報了下面這個錯誤:

Could not resolve all dependencies for configuration ':language-adaptors:rxjava-scala:provided'

他在從.gradle/caches.m2/repository/org/scala-lang/移除了舊版本的 scala-library之后解決了這個問題,然后執(zhí)行了一次完整構(gòu)建。(查看詳細(xì)信息)

在構(gòu)建RxJava時你可能會遇到下面的錯誤:

Failed to apply plugin [id 'java'] Could not generate a proxy class for class nebula.core.NamedContainerProperOrder.

這是JVM的問題,詳細(xì)信息可以參考 GROOVY-6951 。如果遇到這個問題,可以在構(gòu)建RxJava之前執(zhí)行 export GRADLE_OPTS=-noverify,或者升級你機(jī)器上的JDK。

上一篇:From下一篇:RefCount