今天就写一个简单的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相关推荐

  1. android搭建网络框架,Android 搭建MVP+Retrofit+RxJava网络请求框架(三)

    上一篇中主要是将mvp+rxjava+retrofit进行了结合,本篇主要是对mvp框架的优化:建议先去看上一篇:Android 搭建MVP+Retrofit+RxJava网络请求框架(二) 针对vi ...

  2. Android 泽宇Glide和Picasso框架之间的区别与应用

    Glide和Picasso是目前Android开发中很流行的图片加载库,Glide库和Picasso库也有极大的相似性,这篇文章就通过对比的方式描述一下这个两个功能强大的优秀库的使用. 一.简介: 1 ...

  3. Android 泽宇节操视频

    今天我要介绍的是节操视频,此框架的小编个人感觉还是很好用的,轻轻松松的几行代码就搞定了 1.所用依赖:implementation 'fm.jiecao:jiecaovideoplayer:5.5' ...

  4. Android 泽宇App广告栏

    在介绍具体的使用说明之前,我们先看一下简单的实现效果: 使用说明 显示一个默认广告弹窗,支持单广告活动.多广告活动,当弹窗显示多广告是默认显示底部小圆圈,当显示单活动时默认不显示底部小圆圈: 默认支持 ...

  5. Android 泽宇二级列表

    在开发 Android APP 的时候,难免会需要实现二级列表的情况,而在自己的项目中使用的列表是ExpandableListView 如若转发标明转载处:https://mp.csdn.net/po ...

  6. Android 泽宇_EventBus的使用

    1.EventBus 简介 EventBus是一种用于Android的事件发布-订阅总线,由GreenRobot开发,Gihub地址是:EventBus.它简化了应用程序内各个组件之间进行通信的复杂度 ...

  7. Android 泽宇GC垃圾回收机制算法

    GC是什么? GC的英文全称是:Gabage Collection,翻译成中文就是垃圾回收的意思.在一个对象不再被程序引用时,它所占用的堆空间就可以回收,以便于分配给新的对象使用. 那我们在了解回收机 ...

  8. Android 泽宇三种底部导航栏

    compile 'com.flyco.tablayout:FlycoTabLayout_Lib:2.0.8@aar'//底部导航 <com.flyco.tablayout.CommonTabLa ...

  9. Android 泽宇多布局

    现在的速度跟新的速度越来越快,手机的开发,变更也日夜加快普通的已经不能满足我们的需求了,我们看下面一张图 多布局 这张图就是一个简简单单的多布局,然而我们要是用普通的的视频去实现要写的代码量很多看着也 ...

最新文章

  1. linux设备驱动之总线、设备、驱动
  2. python 封装时间常用操作方法-time,datetime
  3. mongodb基本指令与高级查询指令以及聚合命令
  4. 一种c#深拷贝方式完胜java深拷贝(实现上的对比)
  5. VTK:Points之PoissonExtractSurface
  6. 常见的14种异常心电图的波形特点
  7. P1848 [USACO12OPEN]Bookshelf G(线段树优化 DP)
  8. sql语言特殊字符处理
  9. c检程序的公共语言运行时简称为,公共语言运行时检测到无效的程序
  10. 别怨自己命不好,先看看“厚德载物”你有几德?
  11. ant执行命令的详细参数和Ant自带的系统属性
  12. ROSE HA高可用性软件介绍(转载)
  13. 电脑没有声音,显示“未插入耳机或扬声器”,检测不到Realtek高清晰音频管理器...
  14. android MultiDex multidex原理下超出方法数的限制问题(三)
  15. X-Order创始人陶荣祺:Libra让所有互联网应用成为开放金融的一部分
  16. HDU6130 Kolakoski
  17. WPF 委托和事件实现子窗口回调函数, 实时刷新主窗口控件
  18. VUEX和filer过滤器的定义
  19. 日本味之素EB21二丁基乙基己酰基谷氨酸酰胺型胶凝化剂TDS产品说明书
  20. 二维码的扫描和生成二维码

热门文章

  1. layui模板引擎做动态增加和减少表单
  2. 通达信交易接口函数Java接口抽象法
  3. 交易员的不同心理状态以及如何达到最高的交易心境
  4. 什么是小程序?做个小程序要多少钱?哪家公司比较靠谱?【湖南知微网络】
  5. esp32 s3 USB OTG Arduino可以下载固件 USB COM不可以的解决方法
  6. HTML制作的私人网盘,在自己的服务器上一键搭建私人网盘
  7. Web安全:文件包含漏洞测试(防止 黑客利用此漏洞.)
  8. 手机和单反变焦的区别 安卓相机
  9. 云原生与大数据、AIoT、开源的碰撞之路——专访小米崔宝秋
  10. 商品收藏模块的功能设计实现