Android多线程下载SDK的设计,支持断点续传

来源:互联网 发布:seo搜索优化软件 编辑:程序博客网 时间:2024/06/15 18:40

5确定了每个线程负责下载的区间,建立线程集合,存放所有工作线程,还要建立数据库存储每个线程这次下载的文件块的第一个字节、最后一个字节、本次下载的容量,线程的id(用于标记线程)、URL地址。然后启动多个线程,发送HTTP请求获取数据,通过输入流把文件读入后,RandomAccessFile保存在本地。(RandomAccessFile对应SD卡上的文件,RandomAccessFile.seek()方法可以指定从文件的某个位置开始写入,所有线程利用同一个RandomAccessFile在文件的某个位置开始写入字节,所有线程都读取完后,在SD卡上就形成了我们看到的文件。

6  如果线程上次已经下载了一部分,下次继续下载的话,要从数据库中取出上次下载的字节总数,重新记录本次下载的起始字节和终止字节(下次下载的起始字节start = id * block + currentDownloadSize,终止字节是end = (id + 1) * block

参考:

http://www.cnblogs.com/hanyonglu/archive/2012/02/20/2358801.html

http://blog.csdn.net/shimiso/article/details/6763986

http://blog.csdn.net/shimiso/article/details/8448544



0 0
原创粉丝点击