csdn :码小白
原文地址:
http://blog.csdn.net/sk719887916/article/details/51958010
RetrofitClient
基于Retrofit2.0封装的RetrofitClient. 已加入RxJava1, Rxjav2请看 - RxJava2和Retrofit封装的RetrofitClient2终于来了!一文。
- 避免重复创建Retrofit实列.
- 调用方便简洁.
- 无需重复设置属性的步骤.
- 可固定配置 Host 也可动态配置Url、请求头、参数等.
- 支持文件下载和上传.
- 可支持泛型扩展的ApiService
- 支持RxJava
- 支持缓存机制
- 支持统一错误结果处理
使用原生的Retrofit请求网络,熟悉的朋友必定了解,在某个ApiServie方法多时 Retrofit设置就显得有点累赘,今天给大家带来对Retrofit的基本封装。这次对Retrofit进阶篇,本次封装已加入RxJava,请在阅读下文前请先了解RXJAVA和本人写的Retrofit系列文章,
友情导读:
基本步骤:
构建Retrofit的接口service.
构建基础拦截器 Interceptor.
构建Cookie管理工具CookieManger.
构建 单列RetrofitClient客户端.
RetrofitClient的使用.
ApiService
请求网络的API接口类,这里你可以增加你需要的请求接口,也可复用已经实现的几个方法。
/**
* Created by Tamic on 2016-07-08.
*/
public interface ApiService {
public static final String Base_URL = "http://ip.taobao.com/";
/**
*普通写法
*/
@GET("service/getIpInfo.php/")
Observable<ResponseBody> getData(@Query("ip") String ip);
@GET("{url}")
Observable<ResponseBody> executeGet(
@Path("url") String url,
@QueryMap Map<String, String> maps);