本博客内容一致同步到本人的博客站点:http://www.zhoutaotao.xyz 欢迎访问留言交流
OkHttp的POST、GET请求方式
之前看了Retrofit网络请求框架,感觉很Cool,Retrofit是基于OkHttp的二次封装,但是非常有必要回头再看看OkHttp,吃水不忘挖井人,先从最基本的POST GET请求开始吧
POST请求
至于为什么先写POST方式在写GET方式,这是因为啊,我写完POST的代码后发现,我需要写一篇文章记录下来,不过差不多啦
OkHttpClient okHttpClient=
new OkHttpClient();
FormEncodingBuilder formEncodingBuilder=
new FormEncodingBuilder();
formEncodingBuilder.add(
"name",
"周涛");
formEncodingBuilder.add(
"number",
"1371113");
final Request request=
new Request.Builder()
.url(
"http://position.c.zmit.cn/index.php/api/login")
.post(formEncodingBuilder.build())
.build
Call call=okHttpClient.newCall(request
call.enqueue(
new Callback() {
@Override
public void onFailure(Request request, IOException e) {
Log.e(
"请求失败",e.toString());
showTOast(
"请求失败:"+e.toString(),Toast.LENGTH_SHORT);
}
@Override
public void onResponse(Response response)
throws IOException {
showTOast(
"请求成功:"+response.body().string(),Toast.LENGTH_SHORT);
}
});
GET请求
废话不多说,上代码,只要在POST请求的基础上吧参数代码去掉就行了很简单吧,其余代码都是类似的,不做复述
OkHttpClient okHttpClient=
new OkHttpClient();
final Request request=
new Request.Builder()
.url(
"http://position.c.zmit.cn/index.php/api/login")
.build
Call call=okHttpClient.newCall(request);
FileUpdate的方法
OkHttpClient okHttpClient=
new OkHttpClient();
File file =
new File(Environment.getExternalStorageDirectory(),
"balabala.mp4");
RequestBody requestBody=RequestBody.create(MediaType.parse(
"application/octet-stream"),file);
final Request request=
new Request.Builder()
.url(
"http://position.c.zmit.cn/index.php/api/login")
.post(requestBody)
.build();
Call call=okHttpClient.newCall(request);
call.enqueue(
new Callback() {
@Override
public void onFailure(Request request, IOException e) {
Log.e(
"请求失败",e.toString());
showTOast(
"请求失败:"+e.toString(),Toast.LENGTH_SHORT);
}
@Override
public void onResponse(Response response)
throws IOException {
showTOast(
"请求成功:"+response.body().string(),Toast.LENGTH_SHORT);
}
});
就是辣么简单,不过还是需要继续封装以下,要不然这么多代码写着累死了,明天继续学习OkHttp
转载请注明原文地址: https://ju.6miu.com/read-950273.html