一.概述
Okhttp集成有多种,一种就是直接下载它的jar包但是并不推荐,一种是Maven方式去构建,这种在java程序里用的会比较多
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>3.6.0</version>
</dependency>
在android程序里,我们一般用Gradle,把这句话加入build.gradle。
compile 'com.squareup.okhttp3:okhttp:3.6.0'
这样子就集成进去了
集成后这里要注意一点:
图片.png
OkHttp是要依赖于okio的,因为所有的http请求都是基于流的,okio它是对流的再次封装的一个工具类
二.使用
一.Get请求
OkHttpClient client = new OkHttpClient();
//创建一个Request
Request request = new Request.Builder()
.get()
.url(url)
.build();
//通过client发起请求
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
}
@Override
public void onResponse(Call call, Response response) throws IOException {
if (response.isSuccessful()) {
// String str = response.body().string();
}
}
});
以上就是get请求方式
1.先实例化okhttp,构建一个request,使用的是get方式,放入一个url地址就可以了,也可以通过Request.Builder设置更多的参数。
2.然后通过client发起一个请求,放入队列。等待任务完成,在Callback中取结果。
3.通过response.body().string()获取返回来的字符串。
这个body()其实就是ResponseBody的对象
/**
* Returns a non-null value if this response was passed to {@link Callback#onResponse} or returned
* from {@link Call#execute()}. Response bodies must be {@linkplain ResponseB