开发者社区> 请叫我东子> 正文

RxJava入门指南

简介: RxJava是 ReactiveX 在JVM上的一个实现,ReactiveX使用Observable序列组合异步和基于事件的程序。
+关注继续查看

RxJava是 ReactiveX 在JVM上的一个实现,ReactiveX使用Observable序列组合异步和基于事件的程序。更多关于ReactiveX的资料,可以查看 ReactiveX 介绍 页面。

RxJava介绍

RxJava 是轻量级的

RxJava尽力做到非常轻巧。它仅关注Observable的抽象和与之相关的高层函数,实现为一个单独的JAR文件。

RxJava 是一个多语言实现

RxJava 支持Java 6或者更新的版本,以及其它的JVM语言如 Groovy, Clojure, JRuby, KotlinScala。RxJava 可用于更多的语言环境,而不仅仅是Java和Scala,而且它致力于尊重每一种JVM语言的习惯。

RxJava 第三方库

下面是可与RxJava协作的第三方库:

使用指南

你可以在Maven Central http://search.maven.org 找到用于Maven, Ivy, Gradle, SBT和其它构建工具需要的二进制文件和依赖信息.

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'

如果你没有使用构建系统,想直接下载JAR文件的话可以在这里找到:

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

编译构建

检出和构建RxJava的源码,使用以下命令:

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

要执行一个完整的构建,使用这个命令:

$ ./gradlew clean build

构建命令的输出大概是这样的:

$ ./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

执行完整的构建的话,你会看到单元测试的执行,输出类似于这样:

> Building > :rxjava:test > 91 tests completed

故障排除

有一位开发者上报了下面这个错误:

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

他在从.gradle/caches.m2/repository/org/scala-lang/移除了旧版本的 scala-library之后解决了这个问题,然后执行了一次完整构建。(查看详细信息)

在构建RxJava时你可能会遇到下面的错误:

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

这是JVM的问题,详细信息可以参考 GROOVY-6951 。如果遇到这个问题,可以在构建RxJava之前执行 export GRADLE_OPTS=-noverify,或者升级你机器上的JDK。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
一文带你玩转安卓Kotlin+Retrofit+RxJava+MVP架构(附Demo)
一文带你玩转安卓Kotlin+Retrofit+RxJava+MVP架构
61 0
rxjava2+retrofit2 简介
rxjava2+retrofit2 简介
24 0
Rxjava实战笔记 | Rxjava的基本使用解析(同步结合示例)
Rxjava实战笔记 | Rxjava的基本使用解析(同步结合示例)
21 0
关于Rxjava的简单使用
本篇只是讲一下Rxjava的简单入门使用,想要详解的请移步其他博主文章,关于RxJava详解的文章网上一大堆,本片文章内容适合小白学习。
69 0
RxJava的简介
RxJava的简介
86 0
Rxjava深入理解之自己动手编写Rxjava
Demo的源码地址在 mini-rxjava, 有兴趣的可以下载源码来看. 从观察者模式说起 观察者模式,是我们在平时使用的比较多的一种设计模式.观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。
1071 0
对于RxJava的初学习和MVP的demo理解
       生活在当下的时代,尤其是我们学习技术专业的,可以说是时刻不敢松懈,本人是一名大三狗,自学习Android开发也有一年多的时间了,没有人指引和教导确实有些慢。
1535 0
RxJava2学习笔记(3)
接上回继续,今天来学习下zip(打包)操作 一、zip操作 @Test public void zipTest() { Observable.zip(Observable.
988 0
RxJava2学习笔记(2)
上一篇已经熟悉了Observable的基本用法,但是如果仅仅只是“生产-消费”的模型,这就体现不出优势了,java有100种办法可以玩这个:) 一、更简单的多线程 正常情况下,生产者与消费者都在同一个线程里处理,参考下面的代码: final long start = System.
936 0
RxJava2学习笔记(1)
作为github上star数极高的响应式编程java扩展类库,rxjava是啥就不多说了,网上能查到一堆介绍,下面是一些学习记录: 前提依赖: compile 'io.reactivex.rxjava2:rxjava:2.1.9' 一、Observable 1.1 hello world rxjava中的核心思路是“生产者-消费者”模型,生产者的java类通常用xxxEmitter命名,字面意思:发射器,可以想象为一个机关枪,一直biu biu biu的向外发射信息,另一端则是靶子(也就是消费者),在不停的接收。
1248 0
+关注
请叫我东子
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
阿里开发者手册-Golang专题
立即下载
Flutter技术解析与实战
立即下载
从零到一:IOS平台TensorFlow入门及应用详解(附源
立即下载