OkHttpPlus 使用教程
1. 项目介绍
OkHttpPlus 是基于 OkHttp 的一个工具类库,主要对 GET 和 POST 方法进行了简单封装。所有方法的回调都在 UI 线程完成,内置了 String、JsonObject、JsonArray 数据类型的解析器,并封装了对小文件的下载和上传功能,支持进度监听,满足常见的 HTTP 需求。
2. 项目快速启动
2.1 添加依赖
在项目的 build.gradle 文件中添加以下依赖:
dependencies {
implementation 'com.github.zhaokaiqiang.okhttpplus:library:1.0.0'
}
2.2 初始化 OkHttpClient
在你的 Application 类中初始化 OkHttpClient:
public class OkApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
OkHttpClient okHttpClient = OkHttpProxy.getInstance();
okHttpClient.setConnectTimeout(10, TimeUnit.SECONDS);
okHttpClient.setReadTimeout(15, TimeUnit.SECONDS);
okHttpClient.setWriteTimeout(15, TimeUnit.SECONDS);
}
}
2.3 发起 GET 请求
使用 OkHttpPlus 发起一个 GET 请求:
OkHttpProxy.get()
.url("https://api.example.com/data")
.tag(this)
.enqueue(new OkCallback<String>(new OkTextParser()) {
@Override
public void onSuccess(int code, String response) {
// 处理成功响应
}
@Override
public void onFailure(Throwable e) {
// 处理失败响应
}
});
2.4 发起 POST 请求
使用 OkHttpPlus 发起一个 POST 请求:
OkHttpProxy.post()
.url("https://api.example.com/data")
.tag(this)
.addParams("key", "value")
.enqueue(new OkCallback<String>(new OkTextParser()) {
@Override
public void onSuccess(int code, String response) {
// 处理成功响应
}
@Override
public void onFailure(Throwable e) {
// 处理失败响应
}
});
3. 应用案例和最佳实践
3.1 文件上传
使用 OkHttpPlus 上传文件:
File file = new File(Environment.getExternalStorageDirectory(), "example.jpg");
Map<String, String> params = new HashMap<>();
params.put("token", "your_token");
OkHttpProxy.upload()
.url("https://api.example.com/upload")
.file(new Pair<>("file", file))
.setParams(params)
.start(new UploadListener() {
@Override
public void onSuccess(Response response) {
// 处理上传成功
}
@Override
public void onFailure(Exception e) {
// 处理上传失败
}
@Override
public void onUIProgress(Progress progress) {
// 处理上传进度
}
});
3.2 文件下载
使用 OkHttpPlus 下载文件:
String desFileDir = Environment.getExternalStorageDirectory().getAbsolutePath();
OkHttpProxy.download("https://example.com/file.zip", new DownloadListener(desFileDir, "file.zip") {
@Override
public void onUIProgress(Progress progress) {
// 处理下载进度
}
@Override
public void onSuccess(File file) {
// 处理下载成功
}
@Override
public void onFailure(Exception e) {
// 处理下载失败
}
});
4. 典型生态项目
OkHttpPlus 可以与以下项目结合使用,提升开发效率:
- Retrofit: 结合 Retrofit 可以更方便地进行网络请求的封装和处理。
- Gson: 用于 JSON 数据的解析和序列化。
- RxJava: 结合 RxJava 可以实现更复杂的异步操作和数据流处理。
通过这些生态项目的结合,可以进一步提升 OkHttpPlus 的功能和灵活性,满足更多复杂的应用场景。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



