1. 简介
文档的PDF版本可在此处获取 |HERE|。
文档中的示例可在此处查看 |HERE|。
1.1. 背景
本文档并非面向初学者,而是面向具备扎实Java经验的用户。本文档参考了以下资料:
与我以往撰写的文档不同,本文主要依靠示例,仅简要涉及理论。不过,每个示例都配有说明,且全篇内容具有逻辑连贯性。
ReactiveX 是一组用于简化异步编程及处理异步数据结果的库:
![]() |
![]() |
![]() |
Rx 库已被实现为多种编程语言:
![]() |
在此,我们将重点介绍以下库:
- 面向 Java 世界的 RxJava;
- RxAndroid,是针对 Android 环境的 RxJava 特化版本;
- RxSwing,即针对 Swing 环境的 RxJava 专用版本;
响应式编程的概念乍看之下颇为复杂。正因如此,本文档主要面向非初学者。尽管如此,我已竭力对所用代码进行详细说明,初学者亦可通过本文档熟悉响应式编程。
1.2. 使用工具
1.3. 示例代码
以下示例的代码可在 [dvp/examples] 文件夹的 |此处| 找到。
![]() | ![]() |
[dvp/examples] 文件夹 [2] 是一个 Gradle 项目,其中包含本文档中的大部分示例。任何支持 Gradle 项目管理器的 IDE [http://gradle.org/] 均可打开该项目。IntelliJ IDEA 原生支持该功能。对于 Eclipse 或 NetBeans,则需要安装插件。使用 IntelliJ IDEA Community Edition 时,请按以下步骤操作:
![]() | ![]() |
[示例] 项目由以下 [build.gradle] [4] 文件进行配置:
buildscript {
repositories {
mavenCentral()
}
}
apply plugin: 'java'
jar {
baseName = 'exemples-01'
version = '0.0.1-SNAPSHOT'
}
repositories {
mavenCentral()
}
dependencies {
compile('io.reactivex:rxswing:0.25.0')
compile('io.reactivex:rxjava:1.1.3')
compile('com.fasterxml.jackson.core:jackson-databind:2.7.3')
}
task wrapper(type: Wrapper) {
gradleVersion = '2.9'
}
- 第 18–22 行:项目的 Gradle 依赖项(待下载的库);
- 第 19 行:第 2 节中讨论的 Swing 示例所需的库;
- 第 20 行:RxJava 库;
- 第 21 行:一个 JSON 库;
- 第 9–12 行:编译项目生成的 JAR 归档文件的特性;
要下载项目所需的依赖项,请按照以下步骤 [1-4] 操作:
![]() | ![]() |









