LogUtil
package com.jia.dimensions_of_electricity.util;
import android.text.TextUtils;
import com.orhanobut.logger.AndroidLogAdapter;
import com.orhanobut.logger.FormatStrategy;
import com.orhanobut.logger.Logger;
import com.orhanobut.logger.PrettyFormatStrategy;
/**
* 网络日志工具类
*/
public class LogUtil {
public static void init() {
FormatStrategy formatStrategy = PrettyFormatStrategy.newBuilder()
.showThreadInfo(false)
.methodCount(0)
.methodOffset(7)
.logStrategy(null)
.tag("SmallApp")
.build();
Logger.addLogAdapter(new AndroidLogAdapter(formatStrategy));
}
public static void json(String json) {
if (!TextUtils.isEmpty(json)) {
Logger.json(json);
}
}
public static void json(String tag, String json) {
if (!TextUtils.isEmpty(json)) {
Logger.t(tag).json(json);
}
}
public static void d(String msg) {
if (!TextUtils.isEmpty(msg)) {
Logger.d(msg);
}
}
public static void d(String tab, String msg) {
if (!TextUtils.isEmpty(msg)) {
Logger.t(tab).d(msg);
}
}
public static void e(String msg) {
if (!TextUtils.isEmpty(msg)) {
Logger.e(msg);
}
}
public static void w(String msg) {
if (!TextUtils.isEmpty(msg)) {
Logger.w(msg);
}
}
public static void v(String msg) {
if (!TextUtils.isEmpty(msg)) {
Logger.v(msg);
}
}
public static void i(String msg) {
if (!TextUtils.isEmpty(msg)) {
Logger.i(msg);
}
}
}
请求头拦截器
package com.jia.dimensions_of_electricity.net;
import android.content.SharedPreferences;
import com.jia.dimensions_of_electricity.App;
import com.jia.dimensions_of_electricity.util.Constant;
import java.io.IOException;
import okhttp3.Interceptor;
import okhttp3.Request;
import okhttp3.Response;
/**
* okhttp3的请求头拦截器
* 这个里面主要的功能是让我们添加公共的请求头
*/
public class OkHeaderInterceptor implements Interceptor {
SharedPreferences sp = App.mContext.getSharedPreferences("sp_name",App.mContext.MODE_PRIVATE);
public OkHeaderInterceptor(){}
@Override
public Response intercept(Chain chain) throws IOException {
//获取原来的请求
Request request = chain.request();
Request.Builder builder = request.newBuilder();
//添加请求头3
builder.addHeader("version","version1.0");
builder.addHeader("platform","android");
builder.addHeader("sessionId",sp.getString("sessionId",""));
builder.addHeader("userId",""+sp.getInt("userId",-1));
//得到request
request = builder.build();
return chain.proceed(request);
}
}
日志拦截器
package com.jia.dimensions_of_electricity.net;
import android.util.Log;
import java.io.IOException;
import java.util.Iterator;
import java.util.Set;
import okhttp3.Headers;
import okhttp3.HttpUrl;
import okhttp3.Interceptor;
import okhttp3.Request;
import okhttp3.Response;
public class OkLogInterceptor implements Interceptor {
@Override
public Response intercept(Chain chain) throws IOException {
Request request = chain.request();
String method = request.method();
HttpUrl url = request.url();
Log.d("本次请求:","url:"+url.toString()+"method:"+method);
Headers headers = request.headers();
Set<String> names = headers.names();
Iterator<String> iterator = names.iterator();
while (iterator.hasNext()){
String next = iterator.next();
String value = headers.get(next);
Log.d("wj",next+":"+value);
}
return chain.proceed(request);
}
}
OkUtil中添加
public static void init(){
OkHttpClient.Builder builder = new OkHttpClient.Builder();
builder.readTimeout(5000,TimeUnit.MILLISECONDS);
builder.writeTimeout(5000,TimeUnit.MILLISECONDS);
builder.connectTimeout(3000,TimeUnit.MILLISECONDS);
builder.addInterceptor(new OkHeaderInterceptor());
builder.addInterceptor(new OkLogInterceptor());
okHttpClient = builder.build();
}