首先来看一个例子:
private static void OkHttpGet() {
OkHttpClient mOkHttpClient = new OkHttpClient();
Request.Builder requestBuilder = new Request.Builder().url("http://www.baidu.com");
//可以省略,默认是GET请求
requestBuilder.method("GET", null);
Request request = requestBuilder.build();
Call mcall = mOkHttpClient.newCall(request);
mcall.enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
}
@Override
public void onResponse(Call call, Response response) throws IOException {
if (null != response.cacheResponse()) {
String str = response.cacheResponse().toString();
System.out.println("cache---" + str);
} else {
response.body().string();
String str = response.networkResponse().toString();
System.out.println("network---" + str);
}
}
});
}
输出:
network---Response{protocol=http/1.1, code=200, message=OK, url=http://www.baidu.com/}
具体使用流程:
1、创建一个OkHttpClient客户端
2、创建一个请求,如下代码:
Request.Builder requestBuilder = new Request.Builder().url("http://www.baidu.com");
requestBuilder.method("GET", null);
Request request = requestBuilder.build();
Call mcall = mOkHttpClient.newCall(request);
3、设置回调,把请求入队列。
这里的response.cacheResponse()是看是否是从缓存中获取。
3、