Android RxJava使用方式及说明.
来源:互联网 发布:centos 软件选择 编辑:程序博客网 时间:2024/05/17 03:57
什么是ReactiveX?
ReactiveX是一个API,它主要关注的是异步的组成和操作可以观察到的数据流或者事件通过使用观察者模式,迭代器模式,函数式编程的特点。处理实时数据是一种常见的发生和拥有一个高效、清洁、可扩展的方法来处理这些场景是很重要的。ReactiveX提供了一个可组合和灵活的API来创建和数据流动作,同时简化异步编程的正常问题线程创建和并发问题。
RxJava的简介:
这个观察者发出的信号:1,2,3并且调用了完成.现在我们需要去创建一个订阅者去响应这些信号.
我们可以看见订阅者仅仅是打印输出了一些简单的数据,一旦你有观察者和一个订阅者的时候,你需要调用Observable.subscribe(),将它们关联起来.
操作者
创建一个订阅者去关联一个简单观察者是非常简单的,并且我们看见也非常好用,但是RxJava仅仅是一个可能,任何的观察者都可以输出改变这个调用和操作.
ReactiveX是一个API,它主要关注的是异步的组成和操作可以观察到的数据流或者事件通过使用观察者模式,迭代器模式,函数式编程的特点。处理实时数据是一种常见的发生和拥有一个高效、清洁、可扩展的方法来处理这些场景是很重要的。ReactiveX提供了一个可组合和灵活的API来创建和数据流动作,同时简化异步编程的正常问题线程创建和并发问题。
RxJava的简介:
RxJava是开源中实现的ReactiveX在Java。两个主要的类是观察者类和订阅类。在RxJava中,观察者是一个类,它发出一连串的数据或事件,这个观察者标准的流程是可以发出一个或者多个并且成功完成或者伴随着错误,一旦一个观察者完成某个项目,它将调用Subscriber.onCompleted()方法或者错误的话,那么观察者就会调用Subscriber.onError()方法,现在我们知道关于观察者和订阅者这2个类足够多了,我们将创建一个订阅者在观察者上面.
Observable integerObservable = Observable.create(new Observable.OnSubscribe() { @Override public void call(Subscriber subscriber) { subscriber.onNext(1); subscriber.onNext(2); subscriber.onNext(3); subscriber.onCompleted(); }});
这个观察者发出的信号:1,2,3并且调用了完成.现在我们需要去创建一个订阅者去响应这些信号.
Subscriber integerSubscriber = new Subscriber() { @Override public void onCompleted() { System.out.println("Complete!"); } @Override public void onError(Throwable e) { } @Override public void onNext(Integer value) { System.out.println("onNext: " + value); }};
我们可以看见订阅者仅仅是打印输出了一些简单的数据,一旦你有观察者和一个订阅者的时候,你需要调用Observable.subscribe(),将它们关联起来.
integerObservable.subscribe(integerSubscriber);// Outputs:// onNext: 1// onNext: 2// onNext: 3// Complete!
操作者
创建一个订阅者去关联一个简单观察者是非常简单的,并且我们看见也非常好用,但是RxJava仅仅是一个可能,任何的观察者都可以输出改变这个调用和操作.
Observable.just(1, 2, 3, 4, 5, 6) // add more numbers .filter(new Func1() { @Override public Boolean call(Integer value) { return value % 2 == 1; } }) .subscribe(new Subscriber() { @Override public void onCompleted() { System.out.println("Complete!"); } @Override public void onError(Throwable e) { } @Override public void onNext(Integer value) { System.out.println("onNext: " + value); } });// Outputs:// onNext: 1// onNext: 3// onNext: 5// Complete!
下面是一个完整的使用方式:
Subscription subscription = Single.create(new Single.OnSubscribe() { @Override public void call(SingleSubscriber singleSubscriber) { String value = longRunningOperation(); singleSubscriber.onSuccess(value); } }) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Action1() { @Override public void call(String value) { // onSuccess Snackbar.make(rootView, value, Snackbar.LENGTH_LONG).show(); } }, new Action1() { @Override public void call(Throwable throwable) { // handle onError } });
0 0
- Android RxJava使用方式及说明.
- Android RxJava 使用RxJava开发
- eclipse插件安装说明及使用方式
- RxJava使用及原理
- RxJava原理及使用
- Android RxJava使用介绍(3) RxJava的操作符及Android事件总线
- Android-使用Mockito、Robolectric和RxJava及Retrofit进行单元测试
- Android Studio 2.2 JNI编译及Rxjava使用初级
- 0. Rxjava系列目录及说明
- Android使用RxJava浅析
- android RxJava使用教程
- Android RxJava 使用
- Android Rxjava 使用
- android Rxjava 使用心得
- RxJava Android使用详解
- Android RxJava使用教程
- android RxJava使用教程
- Android RxJava的使用
- 测试文本中可能出现的空行
- 2015.06.23_截取字符串 and 获取字符串长度
- mangos(二)认证登录基本流程
- iOS开发:AutoLayout关于更新的几个方法
- NetCat
- Android RxJava使用方式及说明.
- javaMail发送电子邮件问题
- Spring MVC入门(2)---简单案例(1)
- AndroidManifest.xml文件解析
- Unity5 如何做资源管理和增量更新
- Hibernate 的事务与并发
- Android学习记录2
- 安卓&android工程逆向记录
- HDOJ 题目1080 Human Gene Functions(DP)