RxJava的简单使用

引入依赖

implementation "io.reactivex.rxjava3:rxjava:3.0.0"

基本使用

  • 导包:
import io.reactivex.rxjava3.annotations.NonNull;
import io.reactivex.rxjava3.core.*;
import io.reactivex.rxjava3.disposables.Disposable;
  • 调用:
private static void simpleObservableObserver() {
        System.out.println("SimpleRxJava.simpleObservableObserver");
        // 创建个数据发射源
        Observable<String> sender = Observable.create(new ObservableOnSubscribe<String>() {
            // ObservableOnSubscribe 类名可以看出是专门用于处理Observable在onSubscribe时的接口
            @Override
            public void subscribe(@NonNull ObservableEmitter<String> emitter) throws Throwable {
                // 这里通过emitter生成数据,emmit就是数据产生器
                emitter.onNext("Hello");
                emitter.onNext("RxJava");
                emitter.onNext("!");
                emitter.onComplete();
            }
        });

        // 创建个接收者
        Observer<String> receiver = new Observer<String>() {
            @Override
            public void onSubscribe(@NonNull Disposable d) {
                // 订阅, 订阅发生时,得到了一个Disposable对象。改对象用于在不用的时候取消订阅
                // 要取消订阅的话,`if (!d.isDisposed()) d.dispose();`
                System.out.println("SimpleRxJava.onSubscribe");
                System.out.println("d = " + d);
            }

            @Override
            public void onNext(@NonNull String s) { // 收到数据
                System.out.println("SimpleRxJava.onNext");
                System.out.println("s = " + s);
            }

            @Override
            public void onError(@NonNull Throwable e) { // 收到错误
                System.out.println("SimpleRxJava.onError");
                System.out.println("e = " + e);
            }

            @Override
            public void onComplete() { // 数据结束
                System.out.println("SimpleRxJava.onComplete");
            }
        };

        // 发送者者接收者关联
        sender.subscribe(receiver);
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然可以!以下是一个简单RxJava 示例: ```java import io.reactivex.rxjava3.core.Observable; import io.reactivex.rxjava3.core.Observer; import io.reactivex.rxjava3.disposables.Disposable; public class RxJavaDemo { public static void main(String[] args) { Observable<String> observable = Observable.just("Hello, World!"); Observer<String> observer = new Observer<String>() { @Override public void onSubscribe(Disposable d) { // 在订阅时被调用 System.out.println("onSubscribe"); } @Override public void onNext(String s) { // 当收到数据时被调用 System.out.println("onNext: " + s); } @Override public void onError(Throwable e) { // 当发生错误时被调用 System.out.println("onError: " + e.getMessage()); } @Override public void onComplete() { // 当完成时被调用 System.out.println("onComplete"); } }; observable.subscribe(observer); } } ``` 这个示例中,我们创建了一个简单的 Observable 对象,它只发射了一个字符串 "Hello, World!"。然后我们创建了一个 Observer 对象,它定义了在收到数据、发生错误或完成时的行为。最后,我们通过调用 `observable.subscribe(observer)` 来订阅 Observable。 运行这个示例,你将会看到以下输出: ``` onSubscribe onNext: Hello, World! onComplete ``` 这表明在订阅时,`onSubscribe` 被调用;然后收到了数据 "Hello, World!",`onNext` 被调用;最后,`onComplete` 被调用,表示完成了数据的发射过程。 请注意,这只是 RxJava 的一个简单示例,RxJava 还有很多更强大的操作符和功能可以使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值