您的位置:首页 > 理论基础 > 计算机网络

OkhttpPost加拦截器

2017-12-17 20:30 344 查看
package wld.bawei.com.myjindong.AddMVP;

import android.os.Handler;

import org.json.JSONException;
import org.json.JSONObject;

import java.io.IOException;
import java.util.Map;

import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.FormBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import wld.bawei.com.myjindong.CommonParamsInterceptor;

/**
* Created by 大金鑫 on 2017/12/15.
*/

public class AddOkHttp {
private Handler handler=new Handler();
private static AddOkHttp addOkHttp;
private String code;

private AddOkHttp(){}
public static AddOkHttp getInsentce(){
if(addOkHttp==null){
synchronized (AddOkHttp.class){
if(addOkHttp==null){
addOkHttp=new AddOkHttp();
}
}
}
return addOkHttp;
}
public void doPost(String path, Map<String,String> map, final AddCallBack addCallBack){
OkHttpClient okHttpClient = new OkHttpClient.Builder()
.addInterceptor(new CommonParamsInterceptor())
.build();
FormBody.Builder builder = new FormBody.Builder();
for(String key:map.keySet()){
builder.add(key,map.get(key));
}

Request builder1 = new Request.Builder().post(builder.build()).url(path).build();
Call call = okHttpClient.newCall(builder1);
call.enqueue(new Callback() {
@Override
public void onFailure(Call call, final IOException e) {
handler.post(new Runnable() {
@Override
public void run() {
addCallBack.onFailure(e.getMessage());
}
});
}

@Override
public void onResponse(Call call, Response response) throws I
4000
OException {
try {
JSONObject jsonObject = new JSONObject(response.body().string());
code = jsonObject.optString("code");
handler.post(new Runnable() {
@Override
public void run() {
addCallBack.onSuccess(code);
}
});
} catch (JSONException e) {
e.printStackTrace();
}
}
});
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: