美文网首页
RxJava(一)--使用实例

RxJava(一)--使用实例

作者: azu_test | 来源:发表于2019-03-11 10:04 被阅读0次

简介

Observable:发射源,英文释义“可观察的”,在观察者模式中称为“被观察者”或“可观察对象”;
Observer:接收源,英文释义“观察者”,没错!就是观察者模式中的“观察者”,可接收Observable、Subject发射的数据;
Subject:Subject是一个比较特殊的对象,既可充当发射源,也可充当接收源,为避免初学者被混淆,本章将不对Subject做过多的解释和使用,重点放在Observable和Observer上,先把最基本方法的使用学会,后面再学其他的都不是什么问题;
Subscriber:订阅者,也是接收源,那它跟Observer有什么区别呢?Subscriber实现了Observer接口,比Observer多了一个最重要的方法unsubscribe( ),用来取消订阅,当你不再想接收数据了,可以调用unsubscribe( )方法停止接收,Observer 在 subscribe() 过程中,最终也会被转换成 Subscriber 对象,一般情况下,建议使用Subscriber作为接收源;
Subscription:Observable调用subscribe( )方法返回的对象,同样有unsubscribe( )方法,可以用来取消订阅事件;
Action0:RxJava中的一个接口,它只有一个无参call()方法,且无返回值,同样还有Action1,Action2...Action9等,Action1封装了含有* 1 个参的call()方法,即call(T t),Action2封装了含有 2 *个参数的call方法,即call(T1 t1,T2 t2),以此类推;
Func0:与Action0非常相似,也有call()方法,但是它是有返回值的,同样也有Func0、Func1...Func9。

代码实例

实例化观察者(结果接收器)

        Observer observer = new Observer<String>() {
            @Override
            public void onCompleted() {
                LogShowUtil.addLog("RxJava","结束",true);
            }

            @Override
            public void onError(Throwable e) {

            }

            @Override
            public void onNext(String string) {
                LogShowUtil.addLog("RxJava","结果: "+string,true);
            }
        };

观察者其实就是结果接收器,被观察者将数据操作处理完之后会通过其持有的结果接收器将数据返回给结果接收器。

实例化被观察者

        Observable observable = Observable.create(new Observable.OnSubscribe<String>() {
            @Override
            public void call(Subscriber<? super String> subscriber) {
                subscriber.onNext("杨");
                subscriber.onNext("月");
                subscriber.onCompleted();
            }
        });

上面代码中的Observable.OnSubscribe其实就是数据处理器,要实现其接口call()方法,在里面做数据操作业务。会通过subscriber.onNext()方法将结果通过onNext()方法的内的参数传递给结果接收器。会通过subscriber.onCompleted()方法结束数据传递并通知给结果接收器。

做订阅操作

        observable.subscribe(observer);

订阅操作,将被观察者和观察者关联,然后即可执行被观察者里面数据处理器的call()方法。

简单实例更多操作符会单独列出

相关文章

  • RxJava(2.0)-订阅源码分析

    基于RxJava 2.0+版本,对RxJava的订阅源码进行简单分析。 1. 使用实例 我们在使用RxJava2....

  • RxJava(一)--使用实例

    简介 Observable:发射源,英文释义“可观察的”,在观察者模式中称为“被观察者”或“可观察对象”;Obse...

  • Android Retrofit 2.0 使用-补充篇

    推荐阅读,猛戳:1、Android MVP 实例2、Android Retrofit 2.0使用3、RxJava4...

  • Android Rxjava 使用实例讲解

    (本文引用自简书作者Carson_Ho的作品) 前言 Rxjava,由于其基于事件流的链式调用、逻辑简洁 & 使用...

  • RxJava/RxAndroid 使用实例实践

    原文地址 RxAndroid Tutorial响应式编程(Reactive programming)不是一种API...

  • Android框架——RxJava(一)概述与基本使用

    RxJava(一)概述与基本使用 RxJava学习系列: RxJava(一)概述与基本使用 [RxJava(二)创...

  • RxJava

    其它文章 RxJava操作符大全 1、RxJava之一——一次性学会使用RxJava RxJava简单的使用和使用...

  • RxJava实例-按钮点击数累加

    RxJava实例 RxJava实例-线程切换 效果图 说明 在一定时间内(3s),对点击按钮的次数进行累计,每点击...

  • RxJava初探

    我们在学习RxJava之前要了解一下,为什么使用RxJava, 使用RxJava有什么好处 RxJava特性: 轻...

  • Rxjava2-小白入门(三)

    前言 继续上篇的Rxjava2的入门实例,把剩下的运用Rxjava的实例讲下,首先要说名下本文会用到Rxbindi...

网友评论

      本文标题:RxJava(一)--使用实例

      本文链接:https://www.haomeiwen.com/subject/qqyrpqtx.html