zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    BZOJ 1070 修车
    BZOJ 1927 SDOI2010 星际竞速 最小费用最大流
    LOJ 2321 清华集训2017 无限之环 拆点+最小费用最大流
    EZOJ 宝石迷阵 建图+网络流匹配
    BZOJ 1711 吃饭dining/Luogu P1402 酒店之王 拆点+最大流流匹配
    POJ 1637 Sightseeing tour 建图+网络流
    POJ 1149 PIGS 建图,最大流
    【2018 1月集训 Day1】二分的代价
    【2019 1月集训 Day1】回文的后缀
    20181228 模拟赛 T3 字符串游戏 strGame 博弈论 字符串
  • 原文地址:https://www.cnblogs.com/zhangwanhua/p/7574536.html
Copyright © 2011-2022 走看看