okhttp可以实现请求同步的效果,按照任务发起的顺序执行,并在前一个任务结束后才开启后一个任务;
as下添加如下代码,引入okhttp:
compile ‘com.squareup.okhttp3:okhttp:3.4.1’
同步请求:
private static final String ENDPOINT = "https://api.github.com/repos/square/okhttp/contributors";
OkHttpClient client = new OkHttpClient.Builder().build();
Request request = new Request.Builder()
.url(ENDPOINT)
.build();
Response response = client.newCall(request).execute();
异步请求:
private static final String ENDPOINT = "https://api.github.com/repos/square/okhttp/contributors";
OkHttpClient client = new OkHttpClient.Builder().build();
Request request = new Request.Builder()
.url(ENDPOINT)
.build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
}
@Override
public void onResponse(Call call, Response response) throws IOException {
}
});
从以上代码可以看出,同步请求执行的是execute()发方法;而异步执行的是enqueue方法;
参考文章链接:http://blog.youkuaiyun.com/angel1hao/article/details/52089712