大鹏一日同风起,扶摇直上九万里。这篇文章主要讲述Android实战——okhttp3的使用和封装相关的知识,希望能为你提供帮助。
本篇文章包括以下内容:使用作者的项目的原话:android和java应用程序的HTTP和HTTP / 2客户端
- okhttp3是什么
- okhttp3工具类的演示(基于okhttp工具类的封装)
- okhttp3工具类的封装
其项目地址:https://github.com/square/okhttp
1、Get请求
2、Post请求
3、文件上传
4、文件下载
由于okhttp3里面是依赖于okio进行开发的,所以务必将okio也引入;老年服饰
我们根据okhttp3的使用封装了HttpUtils,用起来非常简单,跟第三方平台Api使用一样
这里使用response.body().string()返回响应结果内容
okhttp3采用构造者模式来实现的,下面是简单的API介绍:创建HttpUtils工具类,由于okhttp3不建议创建多个对象,所以采用饿汉式的单例模式
请求参数有三种:
- Request.Builder 请求构造者
- url(String url):请求的url
- post():默认是Get方式
- post(RequestBody body):Post带参数
- build():构造请求
执行方法:
- RequestBody:普通的请求参数
- FormBody.Builder:以表单的方式传递键值对的请求参数
- MultipartBody.Builder:以表单的方式上传文件的请求参数
- Call
- enqueue(Callback callback):异步请求
- execute():同步请求
okhttp3也提供了同步的请求方式,通过call.execute()方法,这里都使用异步来演示
【Android实战——okhttp3的使用和封装】如果在下载文件中需要进度的话,可以修改onResponse回调里面的内容就可以获取进度
推荐阅读
- Android基础控件——ViewPager实现带有动画的引导页
- app页面用css 的direction 属性解决select 下拉框右对齐
- Android实战——第三方服务之Bmob后端云的推送服务的集成和使用
- Android实战——第三方服务之Bmob后端云的集成用户登陆用户注册获取用户用户注销
- Android实战——Dagger2一场老板与员工的故事会
- Android实战——Glide的使用,加载图片只要一句话
- Android群英传知识点回顾——第八章(Activity与Activity调用栈分析)
- Android实战——第三方服务之Bmob后端云的云应用收纳集小项目
- Android实战——Retrofit2的使用和封装