RxJava基本实现

这篇博客介绍了如何在Android环境中配置RxJava和RxAndroid,以及RxJava的基本用法。通过创建Observer和Observable,展示了事件处理的3个步骤:onSubscribe、onNext、onError和onComplete。最后,讲解了如何订阅Observable来实现事件监听。
摘要由CSDN通过智能技术生成

在使用RxJava前请先在AndroidStudio中配置gradle:

    //RxJava
    implementation "io.reactivex.rxjava3:rxjava:3.0.0"
    implementation 'io.reactivex.rxjava3:rxandroid:3.0.0'

其中RxAndroid是RxJava在Android平台的扩展。它包含了一些能够简化Android开发的工具,比如特殊的调度器。

RxJava的基本用法分为3个步骤,如下所示:

1、创建Observer(观察者)

它决定事件触发的时候将有怎样的行为,代码如下所示:

        Observer observer = new Observer<String>() {

            @Override
            public void onSubscribe(@NonNull Disposable d) {
                Log.d(TAG, "onSubscribe: ");
            }

            @Override
            public void onNext(@NonNull String s) {
                Log.d(TAG, "onNext: ");
            }

            @Override
            public void onError(@NonNull Throwable e) {
                Log.d(TAG, "onError: ");
            }

            @Override
            public void onComplete() {
                Log.d(TAG, "onComplete: ");
            }
        };

  • onSubscribe:事件队列完结。RxJava不仅把每个事件单独处理,而且还会把他们看做一个队列。当不会再有新的onNext发出时,需要触发onComplete方法作为完成标志。
  • onError:事件队列异常。在事件处理过程中出现异常,onError方法会被触发,同时队列自动终止,不允许再有事件发出。
  • onNext:普通的事件。将要处理的事件添加到事件队列中。
  • onSubscribe:当订阅时会被调用。

2.创建Observable(被观察者)

它决定什么时候触发事件及触发怎样的事件。RxJava使用create方法来创建一个Observable,并为它定义事件触发规则,如下所示:

 Observable<String> observable = Observable.create(new ObservableOnSubscribe<String>() {
            @Override
            public void subscribe(@NonNull ObservableEmitter<String> emitter) throws Throwable {
                emitter.onNext("杨影枫");
                emitter.onNext("月眉儿");
                emitter.onComplete();
            }
        });

通过调用subscriber的方法,不断地将事件添加到任务队列中,也可以用just方法实现:

        Observable.just("杨影枫","月眉儿").subscribe(observer);

上述代码会依次调用 onNext("杨影枫")、onNext("月眉儿")、onComplete()。

3.Subscribe(订阅)

订阅至于要一行代码就可以了,如下所示:

observable.subscribe(observer)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值