package com.example.mvp_rxjava.api; import android.util.Log; import java.util.concurrent.TimeUnit; import okhttp3.OkHttpClient; import okhttp3.logging.HttpLoggingInterceptor; import retrofit2.Retrofit; import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory; import retrofit2.converter.gson.GsonConverterFactory; /** * Created by Administrator on 2018/1/3. */ public class Fengzhuang { private static Fengzhuang fengzhuang; //单例 public static Fengzhuang getfengzhuang(){ if (fengzhuang == null){ synchronized (Fengzhuang.class){ if (fengzhuang == null){ fengzhuang = new Fengzhuang(); } } } return fengzhuang; } private static Retrofit retrofit; //封装Retrofit网络请求 public static synchronized Retrofit getretrofit(){ //日志拦截器可加可不加 HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor(new HttpLoggingInterceptor.Logger() { @Override public void log(String message) { Log.i("tag", message); } }); //日志拦截器 interceptor.setLevel(HttpLoggingInterceptor.Level.BODY); //OK方法 OkHttpClient okHttpClient = new OkHttpClient.Builder() .addInterceptor(interceptor) .connectTimeout(3000, TimeUnit.SECONDS) .build(); //retrofit适配器 if (retrofit == null){ retrofit = new Retrofit.Builder() .addConverterFactory(GsonConverterFactory.create()) .addCallAdapterFactory(RxJava2CallAdapterFactory.create()) .client(okHttpClient) .baseUrl(Api_class.API_QIAN) .build(); } return retrofit; } //泛型 public <T>T getapiserves (Class<T> cl){ retrofit = getretrofit(); return Fengzhuang.retrofit.create(cl); } } 日志拦截器依赖//日志拦截器 compile('com.github.ihsanbal:LoggingInterceptor:2.0.3') { exclude group: 'org.json', module: 'json'} allprojects {repositories { maven { url 'https://jitpack.io' } } }
网络请求封装(Retrofit+OK+日志拦截器)
最新推荐文章于 2024-09-06 23:52:36 发布