概述
LcaiHttpRequest是一个基于 Java 原生HttpURLConnection实现的 Android HTTP 请求框架,采用 Builder 设计模式提供链式调用的 API。该框架封装了常见的 HTTP 请求功能,支持 GET/POST/PUT 请求、JSON/表单数据提交、文件上传、文件下载、XML 解析等,同时提供了完善的错误处理和回调机制。
🎯 核心特性
- 链式调用:采用 Builder 模式,配置灵活,代码简洁易读
- 多请求方式:支持 GET、POST、PUT、DOWNLOAD 等多种 HTTP 方法
- 多数据格式:支持 JSON、表单数据、文件上传(multipart/form-data)
- 多响应格式:支持 JSON、XML、原始流、文件下载等多种响应处理
- 异步执行:内置线程池管理,自动异步执行网络请求
- 完整回调:提供成功、失败、进度等多种回调接口
- 错误处理:完善的异常分类和错误码机制
📦 文件结构
com.liucai.http ├── base │ └── LcaiBaseResponseResult.java 响应回调接口 ├── bulider │ └── LcaiHttpRequestBulider.java 请求构建器 ├── core │ ├── LcaiHttpCall.java 响应类型枚举 │ ├── LcaiHttpMethod.java 请求方法常量 │ ├── LcaiHttpRequest.java 核心请求类 │ └── LcaiHttpSend.java 发送数据类型枚举🛠️ 快速开始
📦 集成方式
添加依赖:
implementation "com.github.liucai-bit:lcaipermission:v1.1.2"1. 基本 GET 请求
newLcaiHttpRequestBulider().setUrl("https://api.example.com/data").setMethod(LcaiHttpMethod.GET).addMapParam("page","1").addMapParam("size","10").setResponseResult(newLcaiBaseResponseResult(){@Overridepublicvoidsuccess(Stringresult){// 处理成功响应Log.d("HTTP","响应数据: "+result);}@Overridepublicvoiderror(intcode,Stringmsg){// 处理错误Log.e("HTTP","请求失败: "+code+", "+msg);}}).excute();2. POST JSON 请求
StringjsonBody="{\"username\":\"admin\",\"password\":\"123456\"}";newLcaiHttpRequestBulider().setUrl("https://api.example.com/login").setMethod(LcaiHttpMethod.POST).setHttpSend(LcaiHttpSend.JSON).addJsonParams(jsonBody).setResponseResult(new