1. Retrofit 官方文档:http://square.github.io/retrofit/
2. 用Retrofit2 简化HTTP请求。https://realm.io/cn/news/droidcon-jake-wharton-simple-http-retrofit-2/
3. 改Android开发者的RxJava 详解:http://gank.io/post/560e15be2dca930e00da1083
一、Retrofit2代码的实现步骤
1. 定义一个接口(封装URL地址和数据请求);
2. 实例化Retrofit;
3. 通过Retrofit实例创建接口服务对象;
4. 通过服务对象调用接口中方法,获得Call对象;
5. Call对象执行请求(异步、同步请求);
二、Retorfit2 GET网络请求中接口写法
1. GET请求,方法中无参数
@GET("article/list/latest?page=1")
Call<ResponseBody> getLastString();
2. GET请求,方法中指定@Path参数和@Query参数。@Path用于替换url地址中"{" 和 "}" 所括的部分。
@Query将在url地址中追加类似"page=1" 的字符串,形成提交给服务器端的请求参数。
@GET("article/list/{type}?")
Call<MyServiceInterface> getLatestList(@Path("type")) String type,@Path("page" int page);
在url地址中追加类似“type=text&count=30&page=1” 的字符串。
@GET("MyEeb/RegServlet")
Call<ResponseBody> getKeyValuePair(@QueryMap Map<String, String> map);
4. GET请求,方法中无参数。但在@Url里定义完整的URl路径。这种情况下BaseUrl会被忽略。
@GET("http://img.256g.com/userup/1201.jpg")
Call<ResponseBody> getNetworkData();