目录
一、简介
OkHttp3是由square公司负责日常维护的开源项目,GitHub地址:https://github.com/square/okhttp ;
其中 3.14.x版本及以前的版本,均采用Java语言编写,4.0.0以后的采用kotlin语言编写;
本系列文章中源码均引用自3.14.x版本;
经过市场考验,公认为Android中最好用的网络开源框架,在日常开发中基本上完全取代了Google官方推荐的UrlConnection;
二、基本用法
1、添加依赖
implementation 'com.squareup.okhttp3:okhttp:3.14.0'
implementation 'com.squareup.okio:okio:1.15.0'
2、使用
2.1 创建客户端对象
OkHttpClient okHttpClient = new OkHttpClient(); // 创建OkHttpClient对象
2.2 创建Request对象
(1)默认采用GET请求
Request request = new Request.Builder()
.url("your.interface?param_one=\"\"¶m_two=\"\"") // 接口地址
.build(); // 创建Request对象
(2) 采用POST请求
/**
先创建RequestBody,再调用Request的post方法
*/
/** 以FormBody为例 FormBody为RequestBody的子类 */
FormBody.Builder formBody = new FormBody.Builder(); // 创建FormBody
formBody.add("key","value"); // 传递键值对参数,即时组装
Request request = new Request.Builder() // 创建Request对象
.url("your_interface")
.post(formBody.build()) // 传递RequestBody对象
.build();
2.3 生成网络请求对象