初步学习OkHttp
来源:互联网 发布:mysql下create index 编辑:程序博客网 时间:2024/06/08 03:59
写在最前面:用于个人学习,资料来源于《第一行代码》(郭霖 著)和 OkHttp教程
1. 首先添加OkHttp库的依赖
在app/build.gradle里的dependencies闭包里加入最新版本的okhttp依赖
dependencies { ...(省略部分) compile 'com.squareup.okhttp3:okhttp:3.7.0' ...}
或者在File-Project Structure-app-denpendencies里从网上导入相应的依赖
2. 创建一个OkHttp实例
OkHttpClient client = new OkHttpClient();
3. 创建一个Request对象
Request request = new Request.Builder().url("网址") //或者调用String变量.build();
4.调用同步/异步方法来发送请求并获取服务器返回数据
//同步方法:Response response = client.newcall(request).execute();//异步方法:client.newCall(request).enqueue(callback); //callback即为返回数据载体//完整代码(同步): private void sendRequestWithOkHttp(){ new Thread(new Runnable() { @Override public void run() { try{ OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("网址") .build(); Response response = client.newCall(request).execute(); String responseData = response.body().string(); } catch (Exception e){ e.printStackTrace(); } } }).start(); }//完整代码(异步):private void sendRequestWithOkHttp(okhttp3.Callback callback){ new Thread(new Runnable() { @Override public void run() { try{ OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("网址") .build(); client.newCall(request).enqueue(callback); } catch (Exception e){ e.printStackTrace(); } } }).start(); }//在调用的时候要重写两个方法:sendRequestWithOkHttp( new Callback() { @Override public void onFailure(Call call, IOException e) { runOnUiThread(new Runnable() { @Override public void run() { //do }); } @Override public void onResponse(Call call, Response response) throws IOException { final String responseText =zresponse.body().string(); //返回的json数据 } })
阅读全文
0 0
- 初步学习OkHttp
- 初步封装OkHttp
- Okhttp学习
- okhttp学习
- okhttp学习
- okhttp,Android网络框架学习之OKHttp
- OkHttp学习 - POM 文件
- okhttp 使用学习
- 初次学习Okhttp
- OKHttp学习笔记
- OkHttp学习总结
- 学习OkHttp wiki--Interceptors
- OkHttp的学习(一)
- OkHttp的学习(二)
- Okhttp---学习笔记
- okHttp的学习
- 从零开始学习OkHttp
- Android OkHttp 框架学习
- 关于QString的一些使用记录
- Ubuntu 16.04 版本使用SSH的步骤及方法
- 利用SCP和CRT部署项目步骤详解
- leetcode---interleaving-string---dp
- HDU 5015 233 Matrix(矩阵快速幂)
- 初步学习OkHttp
- Maven中POM.XML详解
- MySQL存储过程中的IN,OUT,INOUT类型 用法
- 基于矢量切片的电子地图配图(四)配置基础要素
- 序列1,2,2,3,3,3, ... 求第n项的值(n=N*)
- Java8揭秘之Default 方法
- HaspMap使用简单方法
- MySQL对表的操作,掌握这些整理就够了吧
- Pat(A) 1100. Mars Numbers (20)