原理:
1.客户端记录下下载的进度(保存到sqlite数据库),通过RandomAccessFile(文件随机访问类)进行文件随机读写
randomAccessFile.seek(start);
2.客户端通过请求头中设置range,告诉服务器哪些还要继续传送.
connection.setRequestProperty("Range", "bytes=" + start + "-" + threadInfo.getEnd());
大致流程图:
完整代码:https://github.com/wantao666/AndroidDemo/tree/master/DownloadDemo