这是异步POST请求:
mOkHttpClient client =new mOkHttpClient();
//这是建立一个请求参数类
RequestBody requestBodyPost = new FormBody.Builder()
.add("seq", EMClient.getInstance().getCurrentUser())
.build();
//这是设置请求 模式与一些基础设置,比如请求时间等等
Request requestPost = new Request.Builder()
.url(Url.Essential_information_POST)
.post(requestBodyPost)
.build();
client.newCall(requestPost).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
// LogUtils.e("ydp=onFailure==", "" + e.toString());
Toast.makeText(getActivity(),"修改成功",Toast.LENGTH_LONG).show();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
// 这是参数回调
}
});
这是异步GET请求:
String url=Url.User_information+"seq="+EMClient.getInstance().getCurrentUser()+"&name="+EMClient.getInstance().getCurrentUser()+"&userClass="+DemoApplication.getUT()+"&lat="+lat+"&lng="+lng;
LogUtils.e("ydp=url==",url);
//创建okHttpClient对象
OkHttpClient mOkHttpClient = new OkHttpClient();
//创建一个Request
final Request request = new Request.Builder()
.url(url)
.build();
//new call
Call call = mOkHttpClient.newCall(request);
//请求加入调度
call.enqueue(new Callback()
{
@Override
public void onFailure(Call call, IOException e) {
LogUtils.e("ydp=onFailure==",call.toString()+"--"+e.toString());
}
@Override
public void onResponse(Call call, Response response) throws IOException {
//这是回调处理
}
});
这是上传文件并且携带参数
认真看改一下逻辑就可以多个上传了
现在是单个
/**
* 文件 上传
*/
protected void post_file(final String url, final Map<String, Object> map, File file, final Bitmap bitmap) {
OkHttpClient client = new OkHttpClient();
// form 表单形式上传
MultipartBody.Builder requestBody = new MultipartBody.Builder().setType(MultipartBody.FORM);
if (file != null) {
// MediaType.parse() 里面是上传的文件类型。
RequestBody body = RequestBody.create(MediaType.parse("image/*"), file);
String filename = file.getName();
// 参数分别为, 请求key ,文件名称 , RequestBody
requestBody.addFormDataPart("file", file.getName(), body);
}
if (map != null) {
// map 里面是请求中所需要的 key 和 value
for (Map.Entry entry : map.entrySet()) {
requestBody.addFormDataPart(valueOf(entry.getKey()), valueOf(entry.getValue()));
}
}
Request request = new Request.Builder().url(url).post(requestBody.build()).tag(this).build();
// readTimeout("请求超时时间" , 时间单位);
client.newBuilder().readTimeout(5000, TimeUnit.MILLISECONDS).build().newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
Log.i("ydp", "onFailure");
}
@Override
public void onResponse(Call call, Response response) throws IOException {
//这是回调内容
}
});
}
各位我就这些事我用过的所以我贴出来–其他的没有用过