工具类
package com.example.app_three;
import android.util.Log;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.FormBody;
import okhttp3.Interceptor;
import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
import okhttp3.ResponseBody;
import okhttp3.logging.HttpLoggingInterceptor;
public class OkHttpUtils {
private OkHttpClient client;
private static OkHttpUtils httpUtils=null;
public static OkHttpUtils getInstance(){
if( httpUtils==null){
synchronized (Object.class){
if( httpUtils==null){
httpUtils=new OkHttpUtils();
}
}
}
return httpUtils;
}
private OkHttpUtils(){
HttpLoggingInterceptor httpLoggingInterceptor = new HttpLoggingInterceptor(
new HttpLoggingInterceptor.Logger() {
@Override
public void log(String message) {
Log.d("123321", "石卓凡: " + message);
}
}
);
httpLoggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
Interceptor interceptor = new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
Request.Builder header = chain.request().newBuilder().header("token", "szf");
Request request = header.build();
return chain.proceed(request);
}
};
client=new OkHttpClient.Builder()
.readTimeout(10, TimeUnit.SECONDS)
.connectTimeout(10,TimeUnit.SECONDS)
.addInterceptor(interceptor)
.addInterceptor(httpLoggingInterceptor)
.build();
}
public void doGet(String url, final MyOnClick listener){
Request.Builder builder = new Request.Builder();
Request request = builder.url(url)
.