首先添加依赖:
compile 'com.squareup.okhttp3:okhttp:3.3.0'
public class NetUtils implements Callback { private static NetUtils INSTANCE; private final OkHttpClient httpClient; private HttpUtilsCallback mhttpUtilsCallback; public NetUtils(){ httpClient = new OkHttpClient.Builder().build(); } //单例模式 public static NetUtils getInstance(){ if (INSTANCE==null){ INSTANCE=new NetUtils(); } return INSTANCE ; } /* public String doGet(String path){ Request request = new Request.Builder().url(Constant.BASE_URL+ path).build(); Call call = httpClient.newCall(request); call.enqueue(this); return "data ok"; }*/ public void doPost(String path, HashMap<String,String> map, HttpUtilsCallback httpUtilsCallback){ this.mhttpUtilsCallback=httpUtilsCallback; FormBody.Builder builder = new FormBody.Builder(); Iterator<String> iterator = map.keySet().iterator(); while (iterator.hasNext()){ String key = iterator.next(); String value = map.get(key); builder.add(key,value); } FormBody body = builder.build(); Request request = new Request.Builder() .url(Constant.BASE_URL+path) .post(body) .build(); Call call = httpClient.newCall(request); call.enqueue(this); } @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { String s = response.body().string(); mhttpUtilsCallback.onSuccess(s); //Log.e("--------","data"+string); } }