OkHTTP
OkHTTP是一种Android网络框架,由移动支付Square公司贡献,用于替代HttpUrlConnection和Apache HttpClient(android API23 6.0里已移除HttpClient)。
在Android中通过OkHTTP与服务器端通信。
一、引入架包
Android Studio下在File->Project Structure中引入架包
搜索okhttp并添加如下版本
二、配置权限
在AndroidManifest中添加网络访问权限
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
三、发起Get请求
发起Get请求共分为四步操作
- 创建OkHttpClient对象
- 创建Request对象
- 将Request封装为Call
- 请求加入调度
//requestUrl为请求的地址
public void getRequest(String requestUrl) {
try {
//得到OkHttpClient对象
OkHttpClient mOkHttpClient = new OkHttpClient();
//构造Request对象
Request.Builder builder = new Request.Builder();
Request request = builder.get().url(requestUrl).build();
//将Request封装为Call
Call mCall = mOkHttpClient.newCall(request);
Log.d("outout", "start");
//开始执行Call
//Response mResponse= mCall.execute();//同步方法
mCall.enqueue(new Callback() {//异步执行方法
@Override
public void onFailure(Call call, IOException e) {
//请求失败
Log.d("outout", "请求失败");
}
@Override
public void onResponse(Call call, Response response) throws IOException {
//请求成功
Log.d("outout", "请求成功");
String result = response.body().string();
Log.d("outout", result);
//这里建议使用GSON控件来将Json格式转换为Bean对象储存
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
四、其他
处理Get请求,OkHttp还支持Post请求和文件传输等功能。
参考链接
https://lil-xing.top/