博客专栏  >  移动开发   >  RxJava入门

RxJava入门

RxJava 是由大名鼎鼎的 Netflix 公司在开发软件过程中应用 Rx.NET 思想解决实际问题,并最总提炼出来的一套应用于 Java 的 Rx 框架。Rx 是一个优雅解决问题的框架,functional programmer 对该框架比较熟悉。

关注
352 已关注
28篇博文
  • RxJava 错误处理操作符(Error Handling Operators)

    在Observable发射数据时,有时发送onError通知,导致观察者不能正常接收数据。可是,有时我们希望对Observable发射的onError通知做出响应或者从错误中恢复。此时我们该如何处理呢...

    2016-09-06 11:10
    4143
  • RxJava的懒加载,慎重使用自定义操作符,优先考虑内置操作符

    我越来越喜欢把RxJava的defer()操作符作为一个工具来使用,以确保Observable代码在被订阅后才执行(而不是创建后立即执行)。我之前写过一些有关defer()的代码,但是,现在我想做更详...

    2016-09-02 13:58
    1230
  • RxJava 合并组合两个(或多个)Observable数据源

    关键词:合并 Observable前言在RxJava中, 同时处理多个Observables是很常见的一种操作。下面我们简单分析下几个组合类的操作符。Merge在异步的世界经常会创建这样的场景,我们有...

    2016-09-02 17:16
    25385
  • RxJava Android(RxAndroid) 开发全家桶

    RxJava 在 Android 应用开发中越来越流行,但是由于其门槛稍高,初次使用不免遇到很多问题,例如在 RxJava 常见的错误用法 和 不该使用 RxJava 的一些情况 中所描述的情况。为了...

    2016-08-03 23:38
    5045
  • 理解RxJava的线程模型

    ReactiveX是Reactive Extensions的缩写,一般简写为Rx,最初是LINQ的一个扩展,由微软的架构师Erik Meijer领导的团队开发,在2012年11月开源,Rx是一个编程模...

    2016-08-02 11:15
    1421
  • RxJava 自定义操作符(实现自己的操作符)

    你可以实现你自己的Observable操作符,本文展示怎么做。如果你的操作符是被用于创造一个Observable,而不是变换或者响应一个Observable,使用 create( ) 方法,不要试图手...

    2016-07-29 09:30
    1763
  • 使用 RxJava 从多种来源中加载数据

    假设我需要从网络上查询一些数据。显然我可以在每次需要时都从网络上查询,但是将数据缓存在硬盘和内存中将更加高效。具体点说,我想要这么做:1.只有在需要从服务器更新数据的时候,才通过网络查询。2.其他情况...

    2016-07-28 10:52
    1707
  • RxJava 并发之数据流发射太快如何办(背压(Backpressure))

    RxJava系列教程:1. RxJava使用介绍 【视频教程】 2. RxJava操作符   • Creating Observables(Observable的创建操作符) 【视频教程】 ...

    2016-07-09 21:18
    7257
  • RxJava 并发之意外情况处理

    Rx 尽量避免状态泄露到数据流之外的场景。但是有些东西本身就带有状态。比如服务器可以上线和离线、手机可以访问Wifi、按钮被按下了等。在 Rx 中国,我们在一段时间内看到这些事件,并称之为窗口(win...

    2016-07-09 11:12
    2159
  • RxJava 并发 之测试

    在开发软件的时候,我们需要确保代码正确执行。为了快速的获取每次修改后的反馈,通常开发人员使用自定义测试。在同步的 Rx 中测试和普通 Java 中的单元测试没有太大的区别。如果要测试异步代码,可能会有...

    2016-07-09 10:11
    2237
  • RxJava 并发之线程调度

    由于 Rx 目标是用在异步系统上并且 Rx 支持多线程处理,所以很多 Rx 开发者认为默认情况下 Rx 就是多线程的。 其实实际情况不是这样的,Rx 默认是单线程的。除非你明确的指定线程,否则所有 o...

    2016-07-08 23:21
    4006
  • RxJava 驯服数据流之自定义操作函数

    RxJava 提供了很多操作函数。加上各种重载函数,一共有 300 多个操作函数。这些函数中只有很少一部分是核心的操作函数,离开这些核心的函数根本就没法使用 RxJava 了。其他的大部分函数只是一些...

    2016-07-08 23:02
    2713
  • RxJava 驯服数据流之 hot & cold Observable

    Observable 数据流有两种类型:hot 和 cold。这两种类型有很大的不同。本节介绍他们的区别,以及作为 Rx 开发者应该如何正确的使用他们。Cold observables只有当有订阅者订...

    2016-07-06 15:10
    3711
  • RxJava 驯服数据流之时间平移

    Rx 最大的特征之一就是无法预测何时会有数据发射。有些 Observable 会同步的即可发射所有的数据,比如 range ,有些按照一定的时间间隔发射数据、有些根本无法确定到底何时发射数据。例如,鼠...

    2016-07-06 14:00
    2555
  • RxJava 驯服数据流之组合数据流

    组合数据流到目前为止我们介绍了如何创建数据流以及如何把数据流中的数据转换成我们需要的数据。然而,大部分应用都需要处理多个数据源的数据。需要一种把多个数据源组合一起的方法。在前面的介绍中,也看到了一些数...

    2016-07-06 11:39
    2013
  • RxJava 驯服数据流之高级错误处理

    在实际项目代码中可能出现各种各样的异常情况,并不是每一个异常都需要告诉上层代码的。在传统的 Java 中,你可以捕获一个异常,然后决定是自己处理该异常还是再次抛出去。同样,在 RxJava 中,你也可...

    2016-07-06 10:00
    6173
  • RxJava 驯服数据流之避免monad

    monad 是函数式编程中的抽象概念,是一种高度的数学抽象,关于 monad 的详细介绍请看这里: Functors, Applicatives, And Monads In Pictures ,不要...

    2016-07-05 23:11
    1470
  • RxJava 驯服数据流之副作用

    前面两部分,我们学习到了如何创建 Observable以及如何从 Observable 中获取数据。本部分将介绍一些更高级的用法,以及一些在大型项目中的最佳实践。Side effects(副作用)没有...

    2016-07-05 22:45
    1968
  • RxJava 事件流之转换数据流

    Transformation of sequences本节介绍转换数据流中数据的方法。在真实世界中, Observable 中的数据可以是任意类型的,可能在你的应用中无法直接使用这些数据类型,你需要对...

    2016-07-05 21:57
    2275
  • RxJava 事件流之聚合

    Aggregation前面介绍了如何过滤掉不需要的数据、如何根据各种条件停止发射数据、如何检查数据是否符合某个条件。这些操作对数据流来说都是非常有意义的。 本节介绍如何根据数据流中的数据来生成新的有意...

    2016-07-05 18:35
    2189
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部