使用OkHttp3框架获取服务器数据

简介: 使用OkHttp3框架获取服务器数据

OkHttp3框架的使用

1.导入okhttp的jar包

切换到project下,将okhttp-3.2.0.jar和okio-1.12.0放到app/libs下,为项目导入该jar包,右键jar包Add As Library选择需要导入的项目即可成功导入。

或在需要导入的项目下的build.gradle加入如下代码(dependencies类):

implementation files('D:/android_studio/cunfang/MyApplication/app/libs/okhttp-3.2.0.jar')
implementation files('D:/android_studio/cunfang/MyApplication/app/libs/okio-1.12.0.jar')

这里的路径是你jar包的路径

2.发起网络请求

Get请求方式:

public void OkHttpGet()
{
   
new Thread(){
   
@Override
public void run() {
   
//获取一个OkHttpClient对象
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder().url("这里是接口地址").build();
try {
   

Response response = client.newCall(request).execute();
if(response.isSuccessful())
{
   
//如果请求成功,通知Handler更新数据
result="请求结果:"+response.body().string();
handler.sendEmptyMessage(0x100);
}
} catch (Exception e) {
   
e.printStackTrace();
}
}
}.start();
}

在子线程中进行耗时操作后,使用Handler发送消息通知UI线程更新

Post请求方式:

public void OkhttpPost(){
   
new Thread(){
   
@Override
public void run() {
   
OkHttpClient client = new OkHttpClient();
//创建一个表单对象
FormBody.Builder formBody = new FormBody.Builder();

formBody.add("UserName","张三");
formBody.add("PassWord","123456");

Request request = new Request.Builder().url("这里是接口地址")
.post(formBody.build())
.build();
try {
   

Response response = client.newCall(request).execute();
if(response.isSuccessful())
{
   
result="User结果:"+response.body().string();
handler.sendEmptyMessage(0x100);
}
} catch (Exception e) {
   
e.printStackTrace();
}
}
}.start();
}

okhttp3默认请求方式是Get,Post请求方式需要声明

返回的response中,response.code()为请求码,成功默认返回200。

response.message()为返回结果,成功默认返回OK。

response.body()为返回内容

相关文章
|
2月前
|
XML 前端开发 JavaScript
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
61 3
|
2月前
|
存储 运维 算法
服务器数据恢复—raid6阵列硬盘重组raid5阵列如何恢复raid6阵列数据?
服务器存储数据恢复环境: 存储中有一组由12块硬盘组建的RAID6阵列,上层linux操作系统+EXT3文件系统,该存储划分3个LUN。 服务器存储故障&分析: 存储中RAID6阵列不可用。为了抢救数据,运维人员使用原始RAID中的部分硬盘重新组建RAID并进行了初始化。 初始化开始一段时间后,运维人员察觉到情况有异后强制终止初始化,这个时候初始化已经完成一半以上。数据部分已被不可逆的破坏。
|
3月前
|
存储 数据挖掘
服务器数据恢复—用RAID5阵列中部分盘重建RAID5如何恢复原raid5阵列数据?
服务器数据恢复环境: 一台服务器挂接一台存储,该存储中有一组由5块硬盘组建的RAID5阵列。 服务器故障: 存储raid5阵列中有一块硬盘掉线。由于RAID5的特性,阵列并没有出现问题。工作一段时间后,服务器出现故障,用户方请人维修。维修人员在没有了解故障磁盘阵列环境的情况下,用另外4块硬盘(除去掉线的硬盘)重新创建了一组全新的RAID5阵列并完成数据同步,导致原raid5阵列数据全部丢失。
|
4月前
|
存储 弹性计算 缓存
阿里云服务器ECS通用型实例规格族特点、适用场景、指标数据解析
阿里云服务器ECS提供了多种通用型实例规格族,每种规格族都针对不同的计算需求、存储性能、网络吞吐量和安全特性进行了优化。以下是对存储增强通用型实例规格族g8ise、通用型实例规格族g8a、通用型实例规格族g8y、存储增强通用型实例规格族g7se、通用型实例规格族g7等所有通用型实例规格族的详细解析,包括它们的核心特点、适用场景、实例规格及具体指标数据,以供参考。
阿里云服务器ECS通用型实例规格族特点、适用场景、指标数据解析
|
4月前
|
存储 弹性计算 安全
阿里云服务器ECS计算型实例规格族特点、适用场景、指标数据参考
阿里云服务器ECS提供了丰富的计算型实例规格族,专为满足不同场景下的高性能计算需求而设计。包括计算型实例规格族c8y、计算型实例规格族c7、计算型实例规格族c8i等热门计算型实例规格,以及网络增强型的c7nex、密集计算型的ic5等其他计算型实例规格,每一种规格族都经过精心优化,确保在计算性能、存储效率、网络吞吐和安全特性等方面达到最佳平衡。本文将详细解析阿里云服务器ECS中的多个计算型实例规格族,包括它们的核心特点、适用场景、实例规格及具体指标数据,为用户在云计算资源选型时提供全面参考。
阿里云服务器ECS计算型实例规格族特点、适用场景、指标数据参考
|
3月前
|
Python
Flask学习笔记(二):基于Flask框架上传图片到服务器端并原名保存
关于如何使用Flask框架上传图片到服务器端并以其原名保存的教程。
111 1
|
3月前
|
Python
Flask学习笔记(三):基于Flask框架上传特征值(相关数据)到服务器端并保存为txt文件
这篇博客文章是关于如何使用Flask框架上传特征值数据到服务器端,并将其保存为txt文件的教程。
41 0
Flask学习笔记(三):基于Flask框架上传特征值(相关数据)到服务器端并保存为txt文件
|
3月前
|
SQL 分布式计算 关系型数据库
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
121 3
|
3月前
|
弹性计算 Linux 数据库
阿里云国际版如何迁移Linux云服务器系统盘中的数据
阿里云国际版如何迁移Linux云服务器系统盘中的数据
|
3月前
|
分布式计算 Hadoop
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
66 1