retrofit

image-20200628140247922

  • json字符串转JavaBean类的插件
  • json字符串转Json对象的转换器依赖
  • @Query注解 实现 带参数的get请求
  • @QueryMap注解 实现超多参数的get请求
  • @POST注解 + @Url
  • @POST + @Query
image-20200628144406094
  • 参数类型BODY注解 :用于提交内容
  • @Header @HeadersMap用于参数
  • @Headers用于方法

准备工作

compile compile 'com.squareup.retrofit2:retrofit:2.3.0'
compile 'com.squareup.retrofit2:converter-gson:2.0.0'
标记类注解有 3 种:

它们是FormUrlEncoded、Multipart、Streaming

Streaming代表响应的数据以流的形式返回,如果不使用它,则默认会把全部数据 加载到内存,所以下载大文件时需要加上这个注解

参数类注解有

Header、Headers、Body、Path、Field、 FieldMap、Part、PartMap、Query和QueryMap等

1.创建请求接口文件,定义请求方法返回值泛型

2.创建Retrofit(建造者)

3.用Retrofit动态代理获 取到之前定义的接口,并调用该接口定义的getIpMsg方法得到Call对象

4.接下来用Call请求网络并处理回 调,

//异步请求网络,回调的Callback是运行在UI线程的

addCallAdapterFactory(rxJavaCallAdapterFactory) 方法指定使用RxJava 作为CallAdapter ,需要传入一个RxJavaCallAdapterFactory对象:

CallAdapter.Factory rxJavaCallAdapterFactory = RxJavaCallAdapterFactory.create()

addConverterFactory(gsonConverterFactory) 方法指定 Gson 作为解析Json数据的ConverterConverter.Factory gsonConverterFactory = GsonConverterFactory.create()


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!