rxjava 结合okhttp 连续请求
来源:互联网 发布:php记账系统源码 编辑:程序博客网 时间:2024/05/16 07:31
rxjava 结合okhttp 连续请求,第一个请求成功后拿到服务器返回的数据,作为第二个请求的参数,继续进行第二次请求
/** * 获取船公司信息数据 */@Overridepublic void getCompanyData(Dialog dialog, final String mmsi, final String ywjc, final OnLoadComapnyDataListenner onLoadComapnyDataListenner) { /** * new Func1<ResponseResult<CompanyData>, ResponseResult<CompanyData>> * 第一个参数是查询出来的船公司的具体数据的类型 * 这里第二个参数是要返回的数据类型,也就是subscriber的请求成功的类型 * 也就是说 传进去第一个参数类型的数据,将它转换成 第二个参数类型的数据返回出去 */ Observable<ResponseResult<CompanyData>> observable = OkHttpUtils.getRetrofit().create(ApiService.class).loadStaticData(mmsi) .flatMap(new Func1<ResponseResult<ShipStaticInfo>, Observable<ResponseResult<CompanyData>>>() { @Override public Observable<ResponseResult<CompanyData>> call(ResponseResult<ShipStaticInfo> shipStaticInfoResponseResult) { return OkHttpUtils.getRetrofit().create(ApiService.class).getCompanyData(shipStaticInfoResponseResult.getData().getJyr(), ywjc); } }).map(new Func1<ResponseResult<CompanyData>, ResponseResult<CompanyData>>() { @Override public ResponseResult<CompanyData> call(ResponseResult<CompanyData> companyDataResponseResult) { return companyDataResponseResult;//这里不做操作直接返回在观察者中进行数据处理把数据返回给订阅者(即观察者) } }); Subscriber<ResponseResult<CompanyData>> subscriber = new DialogSubscriber<ResponseResult<CompanyData>>(dialog, true) { @Override public void onSuccess(ResponseResult<CompanyData> companyDataResponseResult) { switch (companyDataResponseResult.getResult()) { case 1: onLoadComapnyDataListenner.onSuccess(companyDataResponseResult.getData()); break; case 0: onLoadComapnyDataListenner.onFailure(companyDataResponseResult.getMsg()); break; case -1: onLoadComapnyDataListenner.onFailure(companyDataResponseResult.getMsg()); break; } } @Override public void onFailure(String msg) { onLoadComapnyDataListenner.onFailure(msg); } }; toSubscribe(observable, subscriber);}/** * 公司信息接口回调 */public interface OnLoadComapnyDataListenner { void onSuccess(CompanyData data); void onFailure(String err);}
阅读全文
1 0
- rxjava 结合okhttp 连续请求
- MVP和Retrofit+Rxjava+OkHttp封装结合请求数据
- rxjava,okhttp 合并请求
- OKHttp + RxJava请求数据
- Okhttp网络请求+Rxjava
- RxJava+Retrofit+okhttp实践结合
- RXjava加okhttp 请求请求网络数据
- 网络请求框架 Rxjava+ReTrofit+okHttp+MVP
- rxjava+Retrofit+okhttp 实战网络请求
- 网络请求篇--Retrofit2.0+RxJava+OkHttp
- MVP+Rxjava+Okhttp+Retrofit+XRecyclerview请求数据
- 封装Retrofit + okhttp + rxjava网络请求框架
- Android okHttp网络请求之Retrofit+Okhttp+RxJava组合
- Android okHttp网络请求之Retrofit+Okhttp+RxJava组合
- Android okHttp网络请求之Retrofit+Okhttp+RxJava组合
- 结合Retrofit,RxJava,Okhttp,FastJson的网络框架RRO
- 结合Retrofit,RxJava,Okhttp,FastJson的网络框架RRO
- Android Mvp设计模式结合RxJava+OkHttp+retrofit浅谈
- web 项目 配置jdk 环境
- eclipse最有效启动优化
- Linux同时运行多个Tomcat
- 进程同步问题-锁线程
- java I/O系统(7)-文件加锁
- rxjava 结合okhttp 连续请求
- webPack入门记录
- 使用Base64加密解密文件
- Guice Providers注解和Names模板
- 简单理解Socket及TCP/IP、Http、Socket的区别
- java.lang.IllegalArgumentException: Illegal character in query at index
- 从执行角度解释:return与finally执行顺序
- map用法
- C++抽象编程——指针(3)——指针运算