Android 泽宇Retrofit+Rxjava
今天就写一个简单的Retrofit+Rxjava的联合运用的代码
这是一个请求的接口返回给观察者
Observable是被观察者,Observe是观察者
@FormUrlEncoded @POST("getCourseByTypeAndMore?") Observable<Bean>getPost(@FieldMap HashMap<String,String> map);
这是在m层
@Override public Observable<Bean> getDatas(HashMap<String, String> map) {//创建Retrofit的对象 ApiService apiService = new Retrofit.Builder()//添加Gson和RxJava .addConverterFactory(GsonConverterFactory.create()).addCallAdapterFactory(RxJavaCallAdapterFactory.create())//添加网址注意一定要‘/’结尾 .baseUrl(Constant.BASE_UEL).build().create(ApiService.class); //返回对象 Observable<Bean> post = apiService.getPost(map); return post; }
//返回json解析后的对象,这是在p层
@Override public void getDatas(HashMap<String, String> map) {Observable<Bean> datas = m.getDatas(map); datas.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Action1<Bean>() {@Override public void call(Bean bean) {System.out.println("===============" + bean.getBody().getResult().getData()); v.show(bean); }}, new Action1<Throwable>() {@Override public void call(Throwable throwable) {v.errorMessage(throwable.getMessage()); }}); }
在v层
HashMap<String, String> map = new HashMap<>(); map.put("orderOn", ""); map.put("classtype", "031001004"); map.put("forPeopleType", ""); map.put("format", ""); map.put("price", ""); map.put("pageIndex", "1"); map.put("pageSize", "10"); map.put("classTag", ""); mPresenter.getDatas(map);
Post请求 这样的喜欢的话可以直接这么写
@POST("getCourseByTypeAndMore?orderOn=&classtype=031001004&forPeopleType=&format=&price=&pageIndex=1&pageSize=10&classTag=") Observable<Bean>getPost();
感谢观看
Android 泽宇Retrofit+Rxjava相关推荐
- android搭建网络框架,Android 搭建MVP+Retrofit+RxJava网络请求框架(三)
上一篇中主要是将mvp+rxjava+retrofit进行了结合,本篇主要是对mvp框架的优化:建议先去看上一篇:Android 搭建MVP+Retrofit+RxJava网络请求框架(二) 针对vi ...
- Android 泽宇Glide和Picasso框架之间的区别与应用
Glide和Picasso是目前Android开发中很流行的图片加载库,Glide库和Picasso库也有极大的相似性,这篇文章就通过对比的方式描述一下这个两个功能强大的优秀库的使用. 一.简介: 1 ...
- Android 泽宇节操视频
今天我要介绍的是节操视频,此框架的小编个人感觉还是很好用的,轻轻松松的几行代码就搞定了 1.所用依赖:implementation 'fm.jiecao:jiecaovideoplayer:5.5' ...
- Android 泽宇App广告栏
在介绍具体的使用说明之前,我们先看一下简单的实现效果: 使用说明 显示一个默认广告弹窗,支持单广告活动.多广告活动,当弹窗显示多广告是默认显示底部小圆圈,当显示单活动时默认不显示底部小圆圈: 默认支持 ...
- Android 泽宇二级列表
在开发 Android APP 的时候,难免会需要实现二级列表的情况,而在自己的项目中使用的列表是ExpandableListView 如若转发标明转载处:https://mp.csdn.net/po ...
- Android 泽宇_EventBus的使用
1.EventBus 简介 EventBus是一种用于Android的事件发布-订阅总线,由GreenRobot开发,Gihub地址是:EventBus.它简化了应用程序内各个组件之间进行通信的复杂度 ...
- Android 泽宇GC垃圾回收机制算法
GC是什么? GC的英文全称是:Gabage Collection,翻译成中文就是垃圾回收的意思.在一个对象不再被程序引用时,它所占用的堆空间就可以回收,以便于分配给新的对象使用. 那我们在了解回收机 ...
- Android 泽宇三种底部导航栏
compile 'com.flyco.tablayout:FlycoTabLayout_Lib:2.0.8@aar'//底部导航 <com.flyco.tablayout.CommonTabLa ...
- Android 泽宇多布局
现在的速度跟新的速度越来越快,手机的开发,变更也日夜加快普通的已经不能满足我们的需求了,我们看下面一张图 多布局 这张图就是一个简简单单的多布局,然而我们要是用普通的的视频去实现要写的代码量很多看着也 ...
最新文章
- linux设备驱动之总线、设备、驱动
- python 封装时间常用操作方法-time,datetime
- mongodb基本指令与高级查询指令以及聚合命令
- 一种c#深拷贝方式完胜java深拷贝(实现上的对比)
- VTK:Points之PoissonExtractSurface
- 常见的14种异常心电图的波形特点
- P1848 [USACO12OPEN]Bookshelf G(线段树优化 DP)
- sql语言特殊字符处理
- c检程序的公共语言运行时简称为,公共语言运行时检测到无效的程序
- 别怨自己命不好,先看看“厚德载物”你有几德?
- ant执行命令的详细参数和Ant自带的系统属性
- ROSE HA高可用性软件介绍(转载)
- 电脑没有声音,显示“未插入耳机或扬声器”,检测不到Realtek高清晰音频管理器...
- android MultiDex multidex原理下超出方法数的限制问题(三)
- X-Order创始人陶荣祺:Libra让所有互联网应用成为开放金融的一部分
- HDU6130 Kolakoski
- WPF 委托和事件实现子窗口回调函数, 实时刷新主窗口控件
- VUEX和filer过滤器的定义
- 日本味之素EB21二丁基乙基己酰基谷氨酸酰胺型胶凝化剂TDS产品说明书
- 二维码的扫描和生成二维码