public class OkhttpUtile {
public static OkhttpUtile utile;
OkHttpClient okHttpClient;
//构造方法私有化
private OkhttpUtile(){
okHttpClient = new OkHttpClient.Builder().addInterceptor(new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
Request request = chain.request();
Log.e(“tag” ,"url = " + request.url());
Response response = chain.proceed(request);
return response;
}
}).build();
}
public static synchronized OkhttpUtile getInstance(){
if(utile == null){
utile = new OkhttpUtile();
}
return utile;
}
//post
public void doPost(String url , String phone , String pwd , Callback callback){
//FormBody.Builde用来封装参数
FormBody.Builder builder = new FormBody.Builder();
builder.add("phone" , phone);
builder.add("pwd" ,pwd);
//通过FormBody.Builder获取到RequestBody对象
RequestBody body = builder.build();
Request request = new Request.Builder()
.url(url)
.post(body)
.build();
Call call = okHttpClient.newCall(request);
call.enqueue(callback);
}
public void doGet(String url , Map<String , String> map , Callback callback){
if(map != null && map.size() > 0){
StringBuilder stringBuilder = new StringBuilder();
for(String key : map.keySet()){
String value = map.get(key);
stringBuilder.append(key)
.append("=")
.append(value)
.append("&");
}
String pstr = stringBuilder.toString();
int index = pstr.lastIndexOf("&");
pstr = pstr.substring(0 , index);
url = url+ "?" + pstr;
}
Request request = new Request.Builder()
.url(url)
.get()
.build();
Call call = okHttpClient.newCall(request);
call.enqueue(callback);
}
}