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



最新文章

  1. css的书写规范+常用
  2. BZOJ1026: [SCOI2009]windy数
  3. PS 多次剪裁同一图片
  4. Xamarin 技术全解析
  5. DA - 信息获取途径汇总
  6. hdinfo
  7. calendar 示例
  8. Redis附加功能之Redis事务
  9. ORACLE常用脚本示例
  10. 从Java虚拟机的内存区域、垃圾收集器及内存分配原则谈Java的内存回收机制
  11. iOS APP之间到跳转,以及热门应用,手机自带到应用跳转
  12. Django内存管理的6种方法
  13. npx命令介绍
  14. Java ---- 遍历链表(递归与非递归实现)
  15. Python爬虫之Urllib库的基本使用
  16. 自动化工具 Sikuli-Script 使用
  17. 前端接口自动化测试工具-DOClever使用介绍(转载)
  18. AdminLTE 侧边栏收缩时触发的事件
  19. Spring MVC + Velocity实现国际化配置
  20. Inter exchange Client Address Protocol (ICAP)- 互换客户端地址协议

热门文章

  1. C#实践设计模式原则SOLID
  2. linux 修改 mac
  3. Java中动态规则的实现方式
  4. Node.js的基础知识点
  5. vue前端获取env中的常量
  6. 教你如何在linux操作系统下玩【俄罗斯方块】高清+语音教程
  7. 关于action的使用在firefox报错的问题
  8. 记录Unity的优化tip(不断更新)
  9. 解决ASP.NET上传文件大小限制------(转载人家的博客很好用,略作修改)
  10. 14_Web服务器-并发服务器