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的打赏,我们会更加努力! 如果您想成为作者,请点我