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
微信打赏
支付宝打赏
感谢您对作者Miya的打赏,我们会更加努力! 如果您想成为作者,请点我