当前标签 / RxJava / 总共3篇

Rxjava2使用总结

前言

Rxjava2 是 函数式编程响应式编程 两种牛逼的思想结合的产物,也是在 Java 中这两种思想的一种实现。

函数响应式编程 (Functional Reactive Programming:FRP):是一种通过一系列函数的组合调用来发射,转变,监听,响应数据流的编程范式。

在 Rxjava2 中提供了 5种 观察者模式来实现这种函数响应式编程思想。

ObservableSource/Observer

可通过 onNext 方法发送单条数据或者数据序列,通过 onComplete 发送完成通知或通过 onError 发送异常通知,不支持 背压策略

抽象类 Observable 是接口 ObservableSource 下的一个抽象实现,我们可以通过 Observable 创建一个可观察对象发射数据流。

Observable<String> observable = Observable.create(new ObservableOnSubscribe<String>() {
    @Override
    public void subscribe(ObservableEmitter<String> emitter) throws Exception {
        emitter.onNext("Hello World");
        emitter.onComplete();
    }
});

调用 Observable.create 方法,创建一个可观察对象,并通过 onNext 发送一条数据 “Hello World”,然后通过 onComplete 发送完成通知。

阅读更多

MVP架构的Android基础框架

说明

这是我开源的一个基于MVP架构的Android开发基础框架,源码开放在gitlab上。

仓库地址:https://gitlab.com/lxqxsyu/TestKotlin

框架介绍

MVP架构,Retrofit+Rxjava+Okhttp网络请求,可切换Glide和Fresco图片框架,封装基础刷新分页加载,部分功能后期会有所改进。

框架整体结构

框架整体结构

阅读更多

从响应式编程谈RxJava

参考链接:

响应式编程

响应式编程是一种基于异步数据流概念的编程模式

响应式编程关键性概念就是事件,在某种程度上,这并不是什么新东西。事件总线(Event buses)或咱们常见的单击事件就是一个异步事件流,你可以观察这个流,也可以基于这个流做一些自定义操作(原文:side effects,副作用,本文皆翻译为自定义操作)。响应式就是基于这种想法。你能够创建所有事物的数据流,而不仅仅只是单击和悬停事件数据流。 流廉价且无处不在,任何事物都可以当作一个流:变量、用户输入、属性、缓存、数据结构等等。比如,假设你的微博评论就是一个跟单击事件一样的数据流,你能够监听这个流,并做出响应。

最重要的是,有一堆的函数能够 创建(create)任何流,也能将任何流进行 组合(combine)和 过滤(filter)。 这正是 函数式 的魔力所在。一个流能作为另一个流的 输入(input),甚至多个流也可以作为其它流的输入。你能 合并(merge)两个流。你还能通过 过滤(filter)一个流得到那些你感兴趣的事件。你能将一个流中的数据 映射(map)到一个新的流中。

响应式编程流模型

阅读更多