文档章节

OkHttp的使用

月夜中徘徊
 月夜中徘徊
发布于 2018/05/15 21:05
字数 373
阅读 47
收藏 0

在安卓中大家使用HTTP工具去获取网络数据时,会感觉比较麻烦,这里,用okhttp的网络框架去做的话,会简单很多,这里用一个简单的例子来讲一下okhttp的使用吧

首先,在androidStudio的项目中,我们都是用gradle来管理我们的包依赖的,所以,我们要使用okhttp的话,就在我们的build.gradle下添加okhttp的依赖

 

添加依赖包后,我们就可以在我们的项目代码里使用okhttp了

我写了一个HttpUtil的工具类,将OkHttp封装在里面

看了上面的代码,我们分析一下

1.  我们实例化了一个OkHttpClient的类

2.  我们用实例化了一个Request类去把我们要请求的URL以及参数封装起来,也就是创建请求,这里我们做get请求

3.  通过Call类去帮助我们做请求操作

4.  如果是同步执行,我们直接可以用 

call.execute();

5.  这里我们用的是异步请求

call.enqueue(new Callback() {
            //错误回调
            @Override
            public void onFailure(Request request, IOException e) {
                LogTest.e("onFailue:"+e.getMessage());
                e.printStackTrace();
            }
            //执行完成回调
            @Override
            public void onResponse(Response response) throws IOException {
                LogTest.e("onResponse:");
                String body = response.body().string();
                LogTest.e(body);
                res = body;
            }
});

可以通过 response.body().string() 获取返回来的字符串

之后,我就可以通过clintServer()这个函数来得到服务器返回的数据了

当然,在Android中使用网络记得添加 网络权限 噢

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

 

© 著作权归作者所有

共有 人打赏支持
月夜中徘徊
粉丝 7
博文 36
码字总数 13351
作品 0
贵阳
私信 提问
Android Okhttp缓存:精细化每一个Request的CacheControl缓存控制策略(二)

Android Okhttp缓存:精细化每一个Request的CacheControl缓存控制策略(二) 之前我写的附录文章1,只是简单的使用缺省的方法实现Okhttp的缓存。现在使用CacheControl,精细化到每一个Reque...

开开心心过
2017/10/24
0
0
Xutils, OKhttp, Volley, Retrofit对比

Xutils这个框架非常全面,可以进行网络请求,可以进行图片加载处理,可以数据储存,还可以对view进行注解,使用这个框架非常方便,但是缺点也是非常明显的,使用这个项目,会导致项目对这个框...

安卓笔记侠
2018/08/17
0
0
spring传统xml配置okhttp3

问题 后端服务需要使用http客户端请求其他服务支持,项目中需要将HttpClient换成OKhttp,为啥要换OKhttp?这里不讨论这两者之间的优缺点。这篇文章主要关注与Spring传统xml配置方式集成Okhtt...

亚林瓜子
2018/04/19
0
0
Android 开源项目推荐之「网络请求哪家强」

网络请求这个话题基本是所有 App 开发都会遇到的,这也难怪之前很多人留言让我写写网络请求到底该怎么选择,今天就来说说网络请求到底哪家强! 1 原则 本篇说的网络请求专指 http 请求,在选...

oschina
2016/08/05
4.2K
16
OkHttp 文档翻译之 Calls

Calls Http client 的工作是接收请求和生成响应。这个在原理上很简答的问题,在实现时变得很棘手。 Requests 每个 Http request 包含一个 URL,一个方法(例如 :GET or Post),和 Headers ...

黑泥卡
2018/08/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

rabbitmq安装教程

RabbitMQ有Windows与Linux版本的,这里先写Windows版本的安装。 以前安装软件总是在百度上找某某安装教程,结果能按照教程安装好的软件真的不多。想起先前以为大牛说的一句话,去官网按照官网...

em_aaron
今天
6
0
Android 贝塞尔曲线实践——波浪式运动

一、波浪效果如下 贝塞尔曲线自定义波浪效果的案例很多,同样方法也很简单,大多数和本案例一样使用二次贝塞尔曲线实现,同样还有一种是PathMeasure的方式,这里我们后续补充,先来看贝塞尔曲...

IamOkay
今天
2
0
Nmap之防火墙/IDS逃逸

选项 解释 -f 报文分段 --mtu 指定偏移大小 -D IP欺骗 -sI 原地址欺骗 --source-port 源端口欺骗 --data-length 指定发包长度 --randomize-hosts 目标主机随机排序 --spoof-mac Mac地址欺骗 ...

Frost729
今天
2
0
带你搭一个SpringBoot+SpringData JPA的环境

不知道大家对SpringBoot和Spring Data JPA了解多少,如果你已经学过Spring和Hibernate的话,那么SpringBoot和SpringData JPA可以分分钟上手的。 其实我在学完SpringBoot和SpringData JPA了之...

java菜分享
今天
7
0
Chocolatey 在Window搭建一个开发环境

在看了(利用 Chocolatey 快速在 Windows 下搭建一个开发环境)后,准备从零开始 一、准备工作 1、用管理员权限启动:powershell,执行错误请参考(PowerShell因为在此系统中禁止执行脚本的解...

近在咫尺远在天涯
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部