OkHttp封装 和日志拦截器

OkHttp封装 和日志拦截器
public class OKHttpUtil {

private static OKHttpUtil okHttpUtil;
private final OkHttpClient okHttpClient;

private OKHttpUtil() {
    okHttpClient = new OkHttpClient.Builder()
            .addInterceptor(new LogInterceptor())
            .build();
}

public static OKHttpUtil getInstance() {
    if (null == okHttpUtil) {
        synchronized (OKHttpUtil.class) {
            if (null == okHttpUtil) {
                okHttpUtil = new OKHttpUtil();
            }
        }
    }
    return okHttpUtil;
}

public void get(String urlString, Callback callback) {
    Request request = new Request.Builder()
            .url(urlString)
            .build();
    okHttpClient.newCall(request).enqueue(callback);
}

}

拦截器的类
public class LogInterceptor implements Interceptor {

@Override
public Response intercept(Chain chain) throws IOException {
    Request request = chain.request();
    Log.e("LogInterceptor", "request:" + request);
    Log.e("LogInterceptor", "System.nanoTime():" + System.nanoTime());
    Response response = chain.proceed(request);
    Log.e("LogInterceptor", "request:" + request);
    Log.e("LogInterceptor", "System.nanoTime():" + System.nanoTime());
    return response;
}

}

猜你喜欢

转载自blog.csdn.net/weixin_43805224/article/details/86491267
今日推荐