retrofit是对okhttp做了一层封装。
导包:
compile 'com.squareup.retrofit2:retrofit:+'
compile 'com.google.code.gson:gson:+'
查看最新包版本后替换包版本
Retrofit需要定义一个接口,用来返回我们的Call对象,示范为GET请求。
@GET("/meitumeiju/")
Call<ResponseBody> loadMeiju( @Query("page") String page);
@GET("/meitumeiju/{type}/")
Call<ResponseBody> loadMeiju(@Path("type") String type, @Query("page") String page);
@Query:
参数形如key=value,用@Query注解
@Path:
如果请求的相对地址也是需要调用方传递,可以使用@Path注解
使用方法:创建一个Retrofit对象
Retrofit retrofit=new Retrofit.Builder()
.baseUrl(Api.BASE_URL_MEITUMEIJU)
.build();
RetrofitService retrofitService= retrofit.create(RetrofitService.class);
Call<ResponseBody> call=retrofitService.loadMeiju(page);
addCallAdapterFactory影响的就是第一部分的Call或者Observable,Call类型是默认支持的(内部由DefaultCallAdapterFactory支持)。
利用得到的Call对象,处理网络请求
call.enqueue(new Callback<String>() {
@Override
public void onResponse(Call<String> call, Response<String> response) {
Log.e(TAG,"return:"response.body().toString());
}
@Override
public void onFailure(Call<String> call, Throwable t) {
}
});
不断更新中。。。