1、GET请求步骤
1、引入okhttp的依赖
compile 'com.squareup.okhttp3:okhttp:3.5.0'
同步,自动会下载okhttp依赖的jar
2、在MainActivity添加doGet方法
步骤:
(1)拿到okHttpClient对象
(2)构造Request
(3)将Request封装为Call
(4)执行call
//使用okHttp访问一个网站
public void doGet(View view) throws IOException {
//okHttpClient相当与一个全局的执行者(配置了请求的相关信息,执行请求的动作)
OkHttpClient okHttpClient=new OkHttpClient();
//发起一个请求,因为基于构造模式,所以是Builder
Request.Builder builder=new Request.Builder();
//访问url指定的网址,返回Request
Request request = builder.get().url("http://www.csdn.net/").build();
//将request传入okHttpClient,访问call
Call call = okHttpClient.newCall(request);
//1、直接执行Response response=call.execute();
//2、异步执行,加入队列,异步得提供回调的接口
call.enqueue(new Callback() {
@Override//产生错误的时候回调
public void onFailure(Call call, IOException e) {
//打印错误信息
L.e("onFailure:"+e.getMessage());
e.printStackTrace();
}@Override
public void onResponse(Call call, Response response) throws IOException {
L.e("onResponse:");
//通过response获取相关信息,转换为String
String string = response.body().string();
//打印
L.e(string);
}
});
}
加入网络访问权限
文章图片
点击GET按钮
文章图片
现在把信息获取在Android应用上
public void onResponse(Call call, Response response) throws IOException {
L.e("onResponse:");
//通过response获取相关信息,转换为String
final String string = response.body().string();
//打印
//L.e(string);
runOnUiThread(new Runnable() {
@Override
public void run() {
tv_get.setText(string);
}
});
}
文章图片
网络访问框架,设置超时时间发生错误可以去retry,这些办法一般在全局的执行者里面
2、前后端交互
【Android|Android网络框架-OkHttp使用】1、搭建服务器