断点下载一般都会用到http协议的Range,Range用户请求头中,指定第一个字节的位置和最后一个字节的位置,服务器根据实际情况,返回对应的数据流。
本篇文章中,对理论知识不多叙述。核心采用了线程池管理多线程,用队列方式控制下载任务。实现了,下载,暂停,继续,移除下载等关键功能。
以Handler方式,通知UI更新。详细见下图,源代码,见最底下
代码结构如下,UI分离,可以自己定制
功能截图
源代码下载地址: