Android RxJava2异步刷新使用

在我的认知体系中(可能我年轻)android的环境不如js的好,RxJava更像是JS的异步请求和ajax风格(个人认为)

例子的地址:https://download.csdn.net/download/zhaohan___/10921539
没有积分可以发邮件给我(他自己会动改积分我也不知道为什么)
 [email protected]

1.在build.gradle中引入不同的包

	//rxJava
    implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
    implementation "io.reactivex.rxjava2:rxjava:2.0.8"

2.简单的使用

	 //1.被观察者
                Observable<String> observable = Observable.create(new ObservableOnSubscribe<String>() {
                    @Override
                    public void subscribe(ObservableEmitter<String> emitter) throws Exception {
                        //发送数据
                       for(int a=0;a<20;a++){
                           emitter.onNext("HelloWorld"+a);
                       }
                        //发送完成
                        emitter.onComplete();
                    }
                });
 //2.观察者
                Observer<String> observer = new Observer<String>() {
                    //保存连接状态
                    private Disposable disposable;
                    @Override
                    public void onSubscribe(Disposable d) {
                        //保存连接状态
                        disposable=d;
                    }
                    //接收发送的消息
                    @Override
                    public void onNext(String s) {
                        try {
                            Thread.sleep(500);
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                        }
                        Log.w("接收到的数据:" , s);
                        //大于11取消订阅
                        if(s.length()>11){
                            disposable.dispose();
                        }
                    }

                    //接受异常通知
                    @Override
                    public void onError(Throwable e) {
                        e.printStackTrace();
                    }

                    //接受发送完毕通知
                    @Override
                    public void onComplete() {
                        System.out.println("接受完成");
                        disposable.dispose();
                    }
                };
                
                //3.观察者订阅被观察者
                observable.subscribe(observer);

3.我写了一个例子包含了一些简单的操作符,里边不包含线程方面的例子因为我也不太懂

包括:链式语法、RxJava操作符
在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/zhaohan___/article/details/86512555
今日推荐