目录
1. OkHttp 入门:从一个请求开始
1.1 基本 GET 请求:三步走
1.2 同步 vs 异步:选择你的风格
1.3 为什么选 OkHttp?
2. 配置 OkHttpClient:打造你的专属网络引擎
2.1 超时设置:别让请求卡死
2.2 添加拦截器:窥探请求全过程
2.3 缓存:让请求更快更省流量
3. 责任链模式初探:OkHttp 的核心魔法
3.1 什么是责任链模式?
3.2 OkHttp 的拦截器链
3.3 代码看责任链
4. 深入请求构建:Request 的那些小秘密
4.1 构建复杂请求:POST 和表单
4.2 文件上传:Multipart 轻松搞定
5. 响应处理:从 Response 到数据
5.1 解析响应体
5.2 处理错误和异常
5.3 响应头和状态码
6. 责任链模式深度剖析:OkHttp 的灵魂所在
6.1 责任链的运行机制
6.2 自定义拦截器实战
6.3 责任链的优势与注意事项
7. OkHttp 内置拦截器:幕后英雄的秘密
7.1 RetryAndFollowUpInterceptor:重试与重定向
7.2 BridgeInterceptor:桥接应用与网络
7.3 CacheInterceptor:缓存的守护者
7.4 ConnectInterceptor:建立连接
7.5 CallServerInterceptor:最后冲刺
8. 高级用法:让 OkHttp 飞起来
8.1 连接池:性能的秘密武器
8.2 WebSocket:实时通信的利器
8.3 HTTP/2:速度与效率
9. 性能优化:让 OkHttp 更快更省
9.1 缓存策略优化
9.2 Gzip 压缩
9.3 连接复用与 DNS 优化
10. 常见问题与调试:让 OkHttp 不再“闹脾气”
10.1 常见网络异常及处理
10.2 调试神器:日志与抓包
10.2.1 HttpLoggingInterceptor:请求全透明
10.2.2 抓包:Charles 和 Wireshark
10.3 最佳实践:健壮的请求处理
11. OkHttp 源码探秘:异步执行的秘密
11.1 Dispatcher:任务调度的大脑
11.2 RealCall:请求的执行者
11.3 自定义 Dispatcher
12. 实战项目:构建一个健壮的网络层
12.1 项目结构
12.2 实现 NetworkClient
12.3 实现 ApiService
12.4 实现 ResponseHandler
12.5 运行与调试
13. OkHttp 与 Retrofit 集成:打造现代网络层
13.1 为什么选择 Retrofit?
13.2 配置 Retrofit 与 OkHttp
13.3 定义 Retrofit 接口
13.4 结合 RxJava:更优雅的异步处理
13.5 责任链在 Retrofit 中的体现
14. 最佳实践总结:让 OkHttp 成为你的超级武器
14.1 设计健壮的网络层
14.2 优化性能的Checklist
14.3 责任链模式的极致运用
14.4 调试与维护
1. OkHttp 入门:从一个请求开始
OkHttp 的魅力在于它的简单。想发个网络请求?几行代码就搞定!但简单背后,是强大的设计支持。让我们先从一个最基础的 GET 请求入手,感受 OkHttp 的直观用法,顺便为后续深入底层打个底。
1.1 基本 GET 请求:三步走
用 OkHttp 发起一个 GET 请求,核心就三步:创建