android rxandroid异步消息处理机制
2017-08-23 09:59
741 查看
RxAndroid是RxJava的一个变体,它们都属于函数响应式编程
Rx表示响应式编程, 使用观察者模式, 以观察者(Observer)和订阅者(Subscriber)为基础的异步响应方式. 在Android编程时, 经常会使用异步线程处理耗时任务, RxAndroid是比较优雅的选择.
RxAndroid有什么作用呢?
1、函数响应式编程
2、异步
3、事件驱动(事件作为可观察序列)
4、基于观察者模式
5、组合式
6、专门出错处理
7、适用于处理并发问题
首先需要添加依赖:他们都源于reactivex
compile ‘io.reactivex:rxjava:1.3.0’
compile ‘io.reactivex:rxandroid:1.0.1’
下面来说下步骤:
//1、创建一个观察者 oberver(事件订阅者)
//2、创建一个被观察者实例 Observable(被观察者)
//3、让被观察者去添加订阅者 Subscription(事件订阅者)
总结:这样使代码变得更简洁。。。
Rx表示响应式编程, 使用观察者模式, 以观察者(Observer)和订阅者(Subscriber)为基础的异步响应方式. 在Android编程时, 经常会使用异步线程处理耗时任务, RxAndroid是比较优雅的选择.
RxAndroid有什么作用呢?
1、函数响应式编程
2、异步
3、事件驱动(事件作为可观察序列)
4、基于观察者模式
5、组合式
6、专门出错处理
7、适用于处理并发问题
首先需要添加依赖:他们都源于reactivex
compile ‘io.reactivex:rxjava:1.3.0’
compile ‘io.reactivex:rxandroid:1.0.1’
下面来说下步骤:
//1、创建一个观察者 oberver(事件订阅者)
//2、创建一个被观察者实例 Observable(被观察者)
//3、让被观察者去添加订阅者 Subscription(事件订阅者)
//1 创建一个观察者 observer = new Observer<WaresBean>() { @Override public void onCompleted() { //控制进度条 } @Override public void onError(Throwable e) { } @Override public void onNext(WaresBean s) { //做获取数据的处理 Log.e(TAG, "onNext: "+s.getCopyright( 4000 ) ); } };
//2创建一个被观察者 observable = Observable.create(new Observable.OnSubscribe<WaresBean>(){ @Override public void call(final Subscriber<? super WaresBean> subscriber) { //添加数据 getActivity().runOnUiThread(new Runnable() { @Override public void run() { RetrofitUtil.getInstance().getWaresHot1(new retrofit2.Callback<WaresBean>() { @Override public void onResponse(Call<WaresBean> call, Response<WaresBean> response) { WaresBean body = response.body(); subscriber.onNext(body); } @Override public void onFailure(Call<WaresBean> call, Throwable t) { } }); } }); } });
//3添加订阅者,联网获取数据 observable.subscribeOn(Schedulers.io());//设置在子线程完成 subscribe 操作 observable.observeOn(AndroidSchedulers.mainThread());//设置在哪完成observe操作 observable.subscribe(observer); }
总结:这样使代码变得更简洁。。。
相关文章推荐
- Android异步消息处理机制的源码分析
- Android 异步消息处理机制 让你深入理解 Looper、Handler、Message三者关系
- Android 多线程 - 异步消息处理机制
- Android异步消息处理机制完全解析,带你从源码的角度彻底理解(转)
- Android 异步消息处理机制 理解 Looper、Handler、Message三者关系
- Android 异步消息处理机制 让你深入理解 Looper、Handler、Message三者关系
- Android笔记----AsyncTask异步消息处理机制
- Android 异步消息处理机制 让你深入理解 Looper、Handler、Message三者关系
- Android异步消息处理机制
- Android Handler 异步消息处理机制的妙用 创建强大的图片加载类
- Android 异步消息处理机制
- Android 异步消息处理机制的妙用(二) Handler 创建强大的图片加载类
- Android中异步消息处理机制
- Android异步消息处理机制_Message
- Android 异步消息处理机制 让你深入理解 Looper、Handler、Message三者关系
- Android异步消息处理机制完全解析,带你从源码的角度彻底理解
- Android 异步消息处理机制 让你深入理解 Looper、Handler、Message三者关系
- Android 异步消息处理机制 让你深入理解 Looper、Handler、Message三者关系
- Android异步消息处理机制(一):简单使用
- Android 异步消息处理机制 让你深入理解 Looper、Handler、Message三者关系