其中有两个callback的回调接口:一个是OKHttpCallBack还有一个是RequestCallBack。
两个接口各有两个方法 一个是成功success的方法,还有一个fail失败的方法,成功用String result,或者User user失败的用String msg。
还有一个OKhttputil的方法,代码就比较多。
这儿的第一个方法interceptor拦截器的方法。
-
`public void doPost(String url, HashMap<String,String> params ,final OkhttpCallback okHttpCallBack){
FormBody.Builder formBody = new FormBody.Builder();
for(Map.Entry<String,String> map : params.entrySet()){
formBody.add(map.getKey(),map.getValue());
}
Request request = new Request.Builder().url(url).post(formBody.build()).build();okHttpClient.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { if(okHttpCallBack != null){ handler.post(new Runnable() { @Override public void run() { okHttpCallBack.failUre("网络异常"); } }); } @Override public void onResponse(Call call, Response response) throws IOException { final String result = response.body().string(); int code = response.code(); if(200 == code){ handler.post(new Runnable() { @Override public void run() { okHttpCallBack.success(result); } }); } } }); }`
public void cancelAllTask(){
if(okHttpClient != null){
okHttpClient.dispatcher().cancelAll();
}
}