参照文档:http://gank.io/post/56e80c2c677659311bed9841

一、创建Retrofit

  1. mRetrofit = new Retrofit.Builder()
  2. .baseUrl(URL_PATH)//设置URL地址
  3. .addConverterFactory(GsonConverterFactory.create())//设置使用Gson解析
  4. .addCallAdapterFactory(RxJavaCallAdapterFactory.create())//设置使用RXJAVA的形式,如果不设置则为OkHttp的模式
  5. .build();//创建Retrofit

创建Retrofit

二、设置接收使用的javaBean(成员变量名为json的键,如果是jsonArray则需要使用List<>封装)

  1. public class HttpResult<T> {
  2.  
  3. private int count;
  4. private int start;
  5. private int total;
  6. private String title;
  7.  
  8. //用来模仿Data
  9. private T subjects;
  10.  
  11. public int getCount() {
  12. return count;
  13. }
  14.  
  15. public void setCount(int count) {
  16. this.count = count;
  17. }
  18.  
  19. public int getStart() {
  20. return start;
  21. }
  22.  
  23. public void setStart(int start) {
  24. this.start = start;
  25. }
  26.  
  27. public int getTotal() {
  28. return total;
  29. }
  30.  
  31. public void setTotal(int total) {
  32. this.total = total;
  33. }
  34.  
  35. public String getTitle() {
  36. return title;
  37. }
  38.  
  39. public void setTitle(String title) {
  40. this.title = title;
  41. }
  42.  
  43. public T getSubjects() {
  44. return subjects;
  45. }
  46.  
  47. public void setSubjects(T subjects) {
  48. this.subjects = subjects;
  49. }
  50.  
  51. @Override
  52. public String toString() {
  53. StringBuffer sb = new StringBuffer();
  54. sb.append("title=" + title + " count=" + count + " start=" + start);
  55. if (null != subjects) {
  56. sb.append(" subjects:" + subjects.toString());
  57. }
  58. return sb.toString();
  59. }
  60. }

JavaBean

三、设置传输接口

  1. public interface DouBanApi {
  2. @GET("top250")//变量地址
  3.  
  4. Observable<HttpResult<List<Subject>>> getMovies(@Query("start")int start,@Query("count")int count);
  5. }//Query表示需要上传的参数名

四、设置回调接口

  1. DouBanApi douBanApi = mRetrofit.create(DouBanApi.class);
  2. Observable<HttpResult<List<Subject>>> observable = douBanApi.getMovies(start,count);
  3. observable.subscribeOn(Schedulers.io())
  4. .observeOn(AndroidSchedulers.mainThread())
  5. .subscribe(new Subscriber<HttpResult<List<Subject>>>() {
  6. @Override
  7. public void onCompleted() {
  8.  
  9. }
  10.  
  11. @Override
  12. public void onError(Throwable e) {
  13.  
  14. }
  15.  
  16. @Override
  17. public void onNext(HttpResult<List<Subject>> listHttpResult) {
  18.  
  19. }
  20. });
  21. }

Retrofit的使用的更多相关文章

  1. 【知识必备】RxJava+Retrofit二次封装最佳结合体验,打造懒人封装框架~

    一.写在前面 相信各位看官对retrofit和rxjava已经耳熟能详了,最近一直在学习retrofit+rxjava的各种封装姿势,也结合自己的理解,一步一步的做起来. 骚年,如果你还没有掌握ret ...

  2. Android Retrofit 2.0 使用-补充篇

    推荐阅读,猛戳: 1.Android MVP 实例 2.Android Retrofit 2.0使用 3.RxJava 4.RxBus 5.Android MVP+Retrofit+RxJava实践小 ...

  3. Android MVP+Retrofit+RxJava实践小结

    关于MVP.Retrofit.RxJava,之前已经分别做了分享,如果您还没有阅读过,可以猛戳: 1.Android MVP 实例 2.Android Retrofit 2.0使用 3.RxJava ...

  4. 快速Android开发系列网络篇之Retrofit

    Retrofit是一个不错的网络请求库,用官方自己的介绍就是: A type-safe REST client for Android and Java 看官网的介绍用起来很省事,不过如果不了解它是怎 ...

  5. android快捷开发之Retrofit网络加载框架的简单使用

    大家都知道,安卓最大的特点就是开源化,这自然会产生很多十分好用的第三方API,而基本每一个APP都会与网络操作和缓存处理机制打交道,当然,你可以自己通过HttpUrlConnection再通过返回数据 ...

  6. Retrofit结合RxJava使用指南

    Retrofit结合RxJava使用指南 Retrofit是一个当前很流行的网络请求库, 官网的介绍是: "Type-safe HTTP client for Android and Jav ...

  7. 用Retrofit发送请求中添加身份验证

    用Retrofit发送请求中添加身份验证====================在安卓应用开发中, retrofit可以极大的方便发送http网络请求,不管是GET, POST, 还是PUT, DEL ...

  8. 82.Android之MVP+Retrofit+RxJava实践小结

    转载:http://wuxiaolong.me/2016/06/12/mvpRetrofitRxjava/ 关于MVP.Retrofit.RxJava,之前已经分别做了分享,如果您还没有阅读过,可以猛 ...

  9. retrofit一点点理解

    retrofit是什么? retrofit可以认为是一款基于http协议的rpc框架.基于java的. 它可以连到支持restful的服务器,将服务器返回的json数据反序列化成java对象. 用途 ...

  10. retrofit使用随记

    1.请求接口 public interface RetrofitApi { /*注册*/ /*登录*/ @FormUrlEncoded //post请求带这个 @POST("url" ...

随机推荐

  1. 数据库操作CURD

    JDBCCURD操作实例 19. 五 / J2EE / 没有评论   代码目录结构: domain   javabean: util   工具类  jdbcUtil是连接数据mysql数据库的工具类 ...

  2. [Head First Python]6. 定制数据对象:打包代码与数据

    相同功能,演进实现 数据文件 sarah2.txt sarah Sweeney,2002-6-17,2:58,2.58,2:39,2-25,2-55,2:54,2.18,2:55,2:55 1- 返回 ...

  3. MVC 中使用uploadify上传图片遇到的蛋疼问题

    MVC 中使用uploadify上传图片遇到的蛋疼问题 初次使用uploadify上传图片,遇到了一些比较纠结的问题,在这里和大家分享下,有不对的地方还望大神多多指教,希望对刚接触的朋友有所帮助,文采 ...

  4. 纯js实现积木(div)拖动效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. FPGA系统中DRAM,SRAM,SDRAM,FLASH 区别(转)

    原文:http://hi.baidu.com/abners/item/a9042ef35d3f005bc8f337f5 一般来说这几种存储器是一个nios系统都具有的,sram的好处是接口简单,速度快 ...

  6. 电子工程师名片——UFI Command,USB盘符的显示

    USB Mass Storage类规范概述        USB Mass storage Device协议即海量存储设备协议适用于硬盘,U盘等大容量存储设备.协议使用的接口端点有BulkIn.Bul ...

  7. 汇编写函数:关于PUBLIC和EXTRN的区别

    PUBLIC伪指令的格式:PUBLIC 标识符,标识符... 该伪指令告诉汇编程序放在PUBLIC之后的标识符(本模块的定义的)可为其他模块使用,这些标识符可以是变量.标号或者过程名.言外之意,它不仅 ...

  8. 感觉tbceditor很不错,如果作者能坚持下来,非常非常看好啊

    感觉tbceditor很不错,如果作者能坚持下来,非常非常看好啊 你技术好,可以做个自用的IDE慢慢加功能 ,很方便的用这个控件,写个支持Delphi和html混编的编辑器,要不到2个小时

  9. T-SQL 脚本

    1.USE语句 USE语句用于设置当前数据库,如果没有USE语句,那么就由执行脚本的任何用户来确定执行脚本时当前数据库是正确的.如果只是一个通用脚本,那么省去USE语句实际上可能更有益.通常,如果在脚 ...

  10. 用试探回溯法解决N皇后问题

    学校数据结构的课程实验之一. 数据结构:(其实只用了一个二维数组) 算法:深度优先搜索,试探回溯 需求分析: 设计一个在控制台窗口运行的“n皇后问题”解决方案生成器,要求实现以下功能: 由n*n个方块 ...