RXJAVA之概述
RXjava是一个异步和基于事件的程序库。RXjava的核心理念是编程风格的的变化,从传统的命令式程序改变到函数响应式编程。
RXjava的基本概念:
Observable:发射源,即对象产生的地方。
Observer:观察者,即订阅发射源并处理接收数据的地方。
Subject:比较特殊的对象,它自己即是发射源,又是接收源。
Subscriber:订阅者,比观察者对了一个unsubscribe方法,用来取消订阅。
Subscription:Observable调用subscribe方法返回的对象,有unsubscribe方法,可以用来取消订阅时间。
Action0:无返回值的回调函数。
Func0:有返回值的回调函数。
RXjava入门:
1.引入rxjava 包
<dependency>
<groupId>io.reactivex.rxjava2</groupId>
<artifactId>rxjava</artifactId>
<version>2.1.3</version>
</dependency>
2.创建事件源(Observable)
Observable<String> observable = Observable.create(new ObservableOnSubscribe<String>(){
@Override
public void subscribe(ObservableEmitter<String> arg0) throws Exception {
arg0.onNext("123");
arg0.onComplete();
}});
这里传入了一个ObservableOnSubscribe对象,当事件源被订阅时,subscribe方法会被调用,数据就会依次被调用。
3.创建观察者(Observer)
observable.subscribeWith(new Observer<String>(){
@Override
public void onComplete() {
System.out.println("complete");
}
@Override
public void onError(Throwable arg0) {
System.out.println("error");
}
@Override
public void onNext(String arg0) {
System.out.println(arg0);
}
@Override
public void onSubscribe(Disposable arg0) {
System.out.println("onSubscribe");
}
});
4.运行后输出结果:
onSubscribe
123
complete
最新文章
- css的书写规范+常用
- BZOJ1026: [SCOI2009]windy数
- PS 多次剪裁同一图片
- Xamarin 技术全解析
- DA - 信息获取途径汇总
- hdinfo
- calendar 示例
- Redis附加功能之Redis事务
- ORACLE常用脚本示例
- 从Java虚拟机的内存区域、垃圾收集器及内存分配原则谈Java的内存回收机制
- iOS APP之间到跳转,以及热门应用,手机自带到应用跳转
- Django内存管理的6种方法
- npx命令介绍
- Java ---- 遍历链表(递归与非递归实现)
- Python爬虫之Urllib库的基本使用
- 自动化工具 Sikuli-Script 使用
- 前端接口自动化测试工具-DOClever使用介绍(转载)
- AdminLTE 侧边栏收缩时触发的事件
- Spring MVC + Velocity实现国际化配置
- Inter exchange Client Address Protocol (ICAP)- 互换客户端地址协议