没有合适的资源?快使用搜索试试~ 我知道了~
首页OkHttp基本使用教程(安卓端http请求框架)
OkHttp基本使用教程(安卓端流行的http请求框架) 简介 android网络请求框架之OkHttp,一个处理网络请求的开源项目,是安卓端最火热的轻量级框架,用于替代HttpUrlConnection和Apache HttpClient(android API23 6.0里已移除HttpClient,但仍可引入Jar包使用)。 OkHttp是一个高效的HTTP客户端,它有以下默认特性: 允许连接到同一个主机地址的所有请求,提高请求效率 共享Socket,减少对服务器的请求次数 通过连接池,减少了请求延迟 缓存响应数据来减少重复的网络请求 减少了对数据流量的消耗 自动处理GZip压缩 功能:
资源详情
资源评论
资源推荐

OkHttp基本使用教程(安卓端基本使用教程(安卓端http请求框架)请求框架)
OkHttp基本使用教程(安卓端流行的基本使用教程(安卓端流行的http请求框架)请求框架)
简介简介
android网络请求框架之OkHttp,一个处理网络请求的开源项目,是安卓端最火热的轻量级框架,用于替代HttpUrlConnection和
Apache HttpClient(android API23 6.0里已移除HttpClient,但仍可引入Jar包使用)。
OkHttp是一个高效的HTTP客户端,它有以下默认特性:
允许连接到同一个主机地址的所有请求,提高请求效率
共享Socket,减少对服务器的请求次数
通过连接池,减少了请求延迟
缓存响应数据来减少重复的网络请求
减少了对数据流量的消耗
自动处理GZip压缩
功能:
get,post请求
文件的上传和下载
加载图片
支持请求回调,直接返回对象、对象集合
支持session的保持
okhttp的使用的使用
1. 异步异步GET请求请求
使用步骤:
创建OkHttpClient对象
构造Request对象
通过OkHttpClient和Request对象来构建Call对象
通过Call对象的enqueue(Callback)方法来执行异步请求
String url = "http://wwww.baidu.com";
OkHttpClient okHttpClient = new OkHttpClient();
Request request = new Request.Builder()
.url(url)
.get() //默认就是GET请求,可以省略
.build();
Call call = okHttpClient.newCall(request);
call.enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
Log.d(TAG, "onFailure: ");
}
@Override
public void onResponse(Call call, Response response) throws IOException {
//response.body().string() 获得服务器返回的数据
Log.d(TAG, "onResponse: " + response.body().string());
}
});
2. 同步同步GET请求请求
前面几个步骤和异步方式一样,只是最后一步是通过 Call.execute() 来提交请求,注意这种方式会阻塞调用线程,所以在
Android中应放在子线程中执行,否则有可能引起ANR异常,Android3.0 以后已经不允许在主线程访问网络。
String url = "http://wwww.baidu.com";
OkHttpClient okHttpClient = new OkHttpClient();
final Request request = new Request.Builder()
.url(url)
.build();
final Call call = okHttpClient.newCall(request);
//创建子线程
new Thread(new Runnable() {
@Override
public void run() {
try {
Response response = call.execute();
Log.d(TAG, "run: " + response.body().string());
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();



















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0