public class OkHttpUtil {
private static OkHttpUtil okHttpUtil = null;
private static Handler handler = new Handler();
private static OkHttpClient okHttpClient;
private OkHttpUtil(){
OkHttpClient.Builder builder = new OkHttpClient.Builder();
builder.writeTimeout(5000,TimeUnit.MILLISECONDS);
builder.readTimeout(5000,TimeUnit.MILLISECONDS);
builder.connectTimeout(5000,TimeUnit.MILLISECONDS);
builder.addInterceptor(new OkHttpLog());
builder.addInterceptor(new HttpLoggingInterceptor(new HttpLoggingInterceptor.Logger() {
@Override
public void log(String message) {
//判断为空
if (!TextUtils.isEmpty(message)){
if (message.startsWith("{")||message.startsWith("[")){
LoggerUtil.json(message);
}else {
LoggerUtil.d(message);
}
}
}
}).setLevel(HttpLoggingInterceptor.Level.BODY));
okHttpClient = builder.build();
}
public static OkHttpUtil getInstance(){
if (okHttpUtil == null) {
synchronized (OkHttpUtil.class){
if (okHttpUtil == null) {
okHttpUtil = new OkHttpUtil();
}
}
}
return okHttpUtil;
}
public static void doGet(String url, Class aclass, final NetBack netBack){
OkHttpClient okHttpClient = new OkHttpClient();
Request request = new Request.Builder()
.url(url)
.build();
Call call = okHttpClient.newCall(request);
call.enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
}
@Override
public void onResponse(Call call, Response response) throws IOException {
final String string = response.body().string();
handler.post(new Runnable() {
@Override
public void run() {
netBack.onSuccess(string);
}
});
}
});
}
public interface NetBack{
void onSuccess(String yyy);
}
}