okhttp概要
来源:互联网 发布:网络大v孙海英 编辑:程序博客网 时间:2024/05/16 10:33
由于网络技术的日益发达,各种技术不断更新,今天来说说安卓开源项目okhttp!
Google貌似在6.0版本里面删除了HttpClient相关API,对于这个行为不做评价。为了更好的在应对网络访问,学习下okhttp还是蛮必要的,本篇博客首先介绍okhttp的简单使用。
使用前,对于Android Studio的用户,可以选择添加:
或者Eclipse的用户,可以下载最新的jar okhttp he latest JAR ,添加依赖就可以用了。
注意:okhttp内部依赖okio,别忘了同时导入okio:
gradle: compile 'com.squareup.okio:okio:1.5.0'
最新的jar地址:okio the latest JAR
实现方法跟之前的网络请求框架差不多:
GET的请求方式:
OkHttpClient client = new OkHttpClient();String run(String url) throws IOException { Request request = new Request.Builder() .url(url) .build(); Response response = client.newCall(request).execute(); return response.body().string();}
以上就是发送一个get请求的步骤,首先构造一个Request对象,参数最起码有个url,当然你可以通过Request.Builder设置更多的参数比如:
header
、method
等。然后通过request的对象去构造得到一个Call对象,类似于将你的请求封装成了任务,既然是任务,就会有
execute()
和cancel()
等方法。最后,我们希望以异步的方式去执行请求,所以我们调用的是call.enqueue,将call加入调度队列,然后等待任务执行完成,我们在Callback中即可得到结果。
POST的请求方式:
public static final MediaType JSON = MediaType.parse("application/json; charset=utf-8");OkHttpClient client = new OkHttpClient();String post(String url, String json) throws IOException { RequestBody body = RequestBody.create(JSON, json); Request request = new Request.Builder() .url(url) .post(body) .build(); Response response = client.newCall(request).execute(); return response.body().string();}大家都清楚,post的时候,参数是包含在请求体中的;所以我们通过FormEncodingBuilder。添加多个String键值对,然后去构造RequestBody,最后完成我们Request的构造。
0 0
- okhttp概要
- 概要
- 概要
- 概要
- 概要
- OkHttp
- okhttp
- OkHttp
- OkHttp
- OkHttp
- okhttp
- OKHTTP
- okhttp
- Okhttp
- okHttp
- OkHttp
- okhttp
- Okhttp
- 利用XML文件配置数据库
- 【路由】路由器绑定IP和MAC
- spi协议及工作原理分析
- 内存对齐的规则以及作用
- Leetcode 20 Valid Parenthesis
- okhttp概要
- 2016.9.17NOIPA组模拟赛总结
- 第一次接触github,摸索了好久才有点感觉,Mark一下,以免日后忘记
- Codeforces Round #371 (Div. 2) E. Sonya and Problem Wihtout a Legend(技巧 + 离散化dp)
- Volley加载图片
- web网站架构演变过程
- Base64 编解码
- [编程题]查找替换字符串
- android本地调用service方法