最新消息:文章中包含代码时,请遵守代码高亮规范!

RxJava的学习

杂项 user 174浏览 0评论

Android中经常会使用到异步操作。Android为了使用异步,提供了很多的方式,例如Handler,AsyncTask。RxJava是第三种方式。RxJava有RxJava1和RxJava2。RxJava2是RxJava1的升级版。

RxJava就是一个基于事件流,实现异步操作的库。它的特点就是链式调用。

RxJava的原理是一种扩展的观察者模式。说到底就是被观察者(Observable)通过订阅(Subscribe)按顺序发送事件给观察者(Obsever)按顺序接收事件并作出对应的响应。

一、RxJava的基本使用

1.导入RxJava库:

implemention "io.reactivex.rxjava2:rxjava:2.2.8"

2.在Actiivity中使用:

//链式调用
Observable.create(new ObservableOnSubscribe<Integer>(){
    //1.创建被观察者
    @Override
    public void subscribe(ObservableEmitter<Integer> emitter) throws Exception{
        emitter.onNext(1);
        emitter.onNext(2);
        emitter.onNext(3);
        emitter.onComplete();
    }
}).subscrible(new Observer<Integer>(){
    //2.通过订阅连接被观察者和观察者
    //3.创建观察者,定义响应事件
    @Override
    public void onSubscrible(Disposable d){
        Log.e("TAG","onSubscrible")
    }
    
    @Override
    public void onNext(Integer i){
        Log.e("TAG","onNext:"+i);
    }
    
    @Override
    public void onError(Throwable e){
        Log.e("TAG","onError");
    }
    
    @Override
    public void onComplete(){
        Log.e("TAG","onComplete");
    }
})

二、总结:

这里仅仅做了RxJava的简单介绍,真正在实际项目中需要结合着Retrofit使用实现网络请求框架。RxJava的真实作用在于统一了Android中的异步操作。

转载时请注明出处及相应链接,本文永久地址:https://blog.yayuanzi.com/25313.html


pay_weixin
pay_weixin
微信打赏
pay_weixin
支付宝打赏
感谢您对作者Miya的打赏,我们会更加努力!    如果您想成为作者,请点我

发表我的评论
取消评论

表情