Okhttp源码分析&实践(七)【 实践环节:Okhttp下载功能的实现】

阅读 109

2022-12-21

1.需求思考

实现一个下载模块,我们需要有哪些功能?

  • 单线程下载、多线程下载
  • 下载进度回调
  • 断点下载
  • 下载依赖的框架,允许外界自定义修改,例如可以依赖okhttp,后续我也可以修改为volley等框架
  • 下载缓存模块,使用什么数据结构进行url-cache的数据缓存,并且支持自定义

2.下载框架设计

2.1 外观的设计

下载封装模块,为了方便用户使用,那么最好设计为一个单例类,用户关心的就是需要输入url(下载链接)、downloadcallback(下载进度和数据回调)、threadnum(线程数量),目前我们仅仅考虑到这些。

package com.itbird.okhttpstudy.download

精彩评论(0)

0 0 举报