RxJava2+Retrofit2
来源:互联网 发布:淘宝宝贝发布最佳时间 编辑:程序博客网 时间:2024/06/07 15:05
学习笔记
merge合并两个Observable请求
Observable<AESMBO> observable = api.getAES(); String xorValue = "9f48c6ce-07e8-4521-a840-e256f03c3ceb"; String xorKey = "W0CG2fq4jGo3n6EX"; LoginMBO loginMBO = new LoginMBO(); try { loginMBO.setUsername(EncryptAes.encrypt(loginView.getUserName(), xorValue)); loginMBO.setPassword(EncryptAes.encrypt(loginView.getPassord(), xorValue)); } catch (Exception e) { e.printStackTrace(); } loginMBO.setXorKey(xorKey); String str = JsonUtil.bean2json(loginMBO); Observable<LoginMBO> loginObservable = api.login(str); Observable.merge(observable,loginObservable).subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer<BaseMBO>() { @Override public void onSubscribe(@NonNull Disposable d) { } @Override public void onNext(@NonNull BaseMBO baseMBO) { if(baseMBO instanceof AESMBO){ Log.e("第一个返回",((AESMBO) baseMBO).getXorKey()+"=="+((AESMBO) baseMBO).getXorValue()); }else if(baseMBO instanceof LoginMBO ){ Log.e("第二个返回",((LoginMBO)baseMBO).getRsCode()+"=="+((LoginMBO)baseMBO).getTicket()); } } @Override public void onError(@NonNull Throwable e) { } @Override public void onComplete() { } });
Retrofit
API:
@FormUrlEncoded表单域@Field修饰上传字段@FormUrlEncoded @POST("/basic/login/login/loginCs.json") Observable<LoginMBO> login(@Field("mobileParam")String mobileParam);@Multipart用来修饰文件上传 @Part修饰每一个元素
@Headers("Cache-Control: max-age=640000")@GET("/widget/list")List<Widget> widgetList();
@Path路径参数
@GET("{username}") Call<User> getUser(@Path("username") String username);
@Query参数
@POST("users") Call<List<User>> getUsersBySort(@Query("sort") String sort);
@Head注解请求头信息
@Headers("Cache-Control: max-age=640000")@GET("/widget/list")List<Widget> widgetList();
retrofit中添加缓存也就是在okhttp中添加缓存
阅读全文
0 0
- rxjava2 + retrofit2
- Retrofit2+RxJava2
- RxJava2+Retrofit2
- Rxjava2+retrofit2+rxAndroid+okHttp
- rxjava2 retrofit2 配置
- retrofit2+rxjava2封装解析
- Retrofit2+OkHttp3+RxJava2
- RxJava2+Retrofit2精讲
- 简单封装retrofit2+rxjava2
- 整合MVP+Retrofit2+RxJava2
- Rxjava2+okhttp3+Retrofit2封装
- RxJava2 + Retrofit2 优雅简洁封装
- Rxjava2+MVP+Retrofit2关系图
- RxJava2+Retrofit2快速接入指南
- Retrofit2+RxJava2依赖包一览
- android Retrofit2.0 RxJava2.0
- Retrofit2+Rxjava2联网的封装
- Retrofit2+RxJava2进行网络请求
- vue 数组内对象修改属性页面不渲染问题
- linux内核中的copy_to_user和copy_from_user(一)
- 在 Windows 上创建虚拟机规模集和部署高度可用的应用利用
- Google drive 不能登录解决(和SS配合)
- iOS多Target开发相似App
- RxJava2+Retrofit2
- Repository类的定义
- Python高效编程-统计列表中元素频率
- Hadoop HA搭建
- AttributeError: module 'json' has no attribute 'dump'
- maven打包jar包
- 欢迎使用CSDN-markdown编辑器
- MVC与前后端分离
- dd if=/dev/zero of=的含义是什么?Linux 下的dd命令使用详解