public class OkHttpUtils {
public static OkHttpUtils utils;
private final OkHttpClient okHttpClient;
private OkHttpUtils(){
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 proceed = chain.proceed(request);
return proceed;
}
}).build();
}
public static synchronized OkHttpUtils getInstance(){
if (utils==null){
utils=new OkHttpUtils();
}
return utils;
}
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){
//拼接Get接口
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 keyvalue = stringBuilder.toString();
int index = keyvalue.lastIndexOf("&");
keyvalue=keyvalue.substring(0,index);
url=url+"?"+keyvalue;
}
Request request=new Request.Builder()
.url(url)
//添加请求头
.addHeader("userId","11249")
.addHeader("sessionId","155056366467311249")
.get()
.build();
Call call=okHttpClient.newCall(request);
call.enqueue(callback);
}
}