作为一个多年的Android开发的我来说,一个好的网络框架,在一定程度能够提升一个应用的可用性,这样我们就需要找到合适的网络框架,对于比较获得网络框架,前几天比较火的xutils,由于之前工作比较忙,一直没空去好好研究一个新的网络框架,最近闲来无事,了解了最新的比较火的网络框架,那就是okhttp,如果仅仅使用okhttp还不能真正的给自己带来很大的便利,如果加上Retrofit 这样的话就能很大程度的提高代码的可读性。
接下来,咱们来了解写okhttp+Retrofit在项目中我们到底该如何使用。
首先创建请求接口
@Headers({ "Content-Type: application/json","Accept: application/json"})//需要添加头 @POST(CommonValue.USER_LOGIN) Call<BaseEntity<String>> bannerCall(@Body RequestBody body);
以上是一个传递json字符串的方法,返回的是call的泛型接口
接下来,配置Retrofit和okhttp
public class RetrofitFactory { private static RetrofitFactory retrofitFactory = null; private Retrofit retrofit; private RetrofitFactory() { retrofit = new Retrofit.Builder().client(OkHttpClientFactory.getInstance().getOkHttpClient()) .addConverterFactory(GsonConverterFactory.create()) .baseUrl(CommonValue.URL) .build(); } public static RetrofitFactory getInstance(){ if(retrofitFactory == null){ retrofitFactory = new RetrofitFactory(); } return retrofitFactory; } public Retrofit getRetrofit(){ return retrofit; } }
public class OkHttpClientFactory { private static OkHttpClientFactory okHttpClientFactory=null; private OkH