一 、RxJava 简单概念,依赖

项目地址

在MainActivity2那里

1.依赖:

implementation "io.reactivex.rxjava3:rxjava:3.1.2"
implementation 'io.reactivex.rxjava3:rxandroid:3.0.0'

2.基本介绍:

RxJava:它是观察者模式。一般分为上游(被观察者),下游(观察者),订阅(这中间还有个中间操作,过滤,转换……,跟stream流有点一模一样,估计是……,哈哈哈)
什么是观察者模式呢:大致就是:苍老湿,她是否有新出电影,然后张三,李四,王五就会去观察她的动态,如果苍老湿有电影了,比方说奥特曼大战电影,张三,李四,王五就是去找资源,张三可能是一个程序猿,他就通过翻墙获取资源,然后观看。李四呢,他没什么技术,但是有钱,就去用钱的方式获取。王五呢,没什么钱,没什么技术,就去蹭蹭别人的电影,或者看看图片。
这里呢这个苍老师就是被观察者,而张三,李四,王五就是观察者。

1.上游被观察者:它是事件的创建者

//上游,被观察者
        Observable<Integer> observable = Observable.create(new ObservableOnSubscribe<Integer>() {
            @Override
            public void subscribe(@NonNull ObservableEmitter<Integer> emitter) throws Throwable {

            }
        });

2.下游观察者:

//下游观察者
        Observer<Integer> observer = new Observer<Integer>() {
            @Override
            public void onSubscribe(@NonNull Disposable d) {

            }

            @Override
            public void onNext(@NonNull Integer integer) {

            }

            @Override
            public void onError(@NonNull Throwable e) {

            }

            @Override
            public void onComplete() {

            }
        };

3.订阅:

//订阅
        observable.subscribe(observer);

4.流行的方法

就是简单的发射1:emitter.onNext(1);
然后打印出来:

 @Override
                    public void onNext(@NonNull Integer integer) {

                        Log.d(TAG, "onNext: 下游处理……"+integer);
                    }
Observable.create(new ObservableOnSubscribe<Integer>() {
            @Override
            public void subscribe(@NonNull ObservableEmitter<Integer> emitter) throws Throwable {
                Log.d(TAG, "onSubscribe: 上游subscribe: 发射事件");
                //发射事件
                emitter.onNext(1);
                Log.d(TAG, "subscribe: 上游subscribe:发射完成");
            }
        })
                //订阅操作
        .subscribe(
                //观察者
                new Observer<Integer>() {
                    @Override
                    public void onSubscribe(@NonNull Disposable d) {
                        Log.d(TAG, "onSubscribe: 连接成功");
                    }

                    @Override
                    public void onNext(@NonNull Integer integer) {

                        Log.d(TAG, "onNext: 下游处理……"+integer);
                    }

                    @Override
                    public void onError(@NonNull Throwable e) {

                    }

                    @Override
                    public void onComplete() {

                    }
                }
        );
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值