原创android 多任务断点续传下载.doc

上传人:hs****ma 文档编号:543218473 上传时间:2023-09-23 格式:DOC 页数:4 大小:131KB
返回 下载 相关 举报
原创android 多任务断点续传下载.doc_第1页
第1页 / 共4页
原创android 多任务断点续传下载.doc_第2页
第2页 / 共4页
原创android 多任务断点续传下载.doc_第3页
第3页 / 共4页
原创android 多任务断点续传下载.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《原创android 多任务断点续传下载.doc》由会员分享,可在线阅读,更多相关《原创android 多任务断点续传下载.doc(4页珍藏版)》请在金锄头文库上搜索。

1、多任务下载1. 网上看了很多下载,都是单任务多线程,都没有人写多任务下载功能。找了2天还是没找到,所以自己研究,写了一个多任务断点下载 暂停 实时更新 等功能的 下载器,因为公司代码 所以不能提供源码 望见谅,本人安卓新人 接触不到2个月 代码写的不好,只是为需要的人提供一点思路废话不说,开篇吧,第一。多任务下载思路,当我要实现这个功能,看过网上,加入服务再让服务去启线程,服务不一定需要 具体看你的客户端 比如下图列表,当用点击某一项 这个时候添加到下载中,实现后太下载,(需判断是否存在SD卡 这个我就不唠叨了)这里 离不开数据库了, 因为当前的Activity 有自己的handler 或者l

2、ist , 当需要一个manger 管理的时候,需要查找下载的信息,进度 。等等,重点说线程,1 .线程类里,当初次加入线程时 先判断是否要加入数据库,2. 判断是否可重复下载,这里是指SD卡删掉 数据库 还有信息,3. 开始下载,RandomAccessFile 类出现,文件的大小 范围 seek从哪里开始,(跟多线 那里一样,如果不会使用 RandomAccessFile 可以去看看教学视频)4. 然后 while()读数据了 并向handler 发数据了,(handler发数据?这里说明需要一个handler对象了,构造的时候记得赋值)以上类都可以说是下载列表的一个下载操作,相信做过下载

3、的都可以直接完成了,比较复杂的就是后面Manger管理类毫无关系 接下来怎么产生联系呢?a.第一,Manger的展示列表,此列表数据来至数据库,你也别想着内存取,取是可以取 但是关了程序后 你的list就为空了,还不如去数据库差,可以减少判断。B.既然是来至数据库,这个肯定要先写Dao方法查询了 一个List 集合,填充到页面,当做完这里 你可以能有数据了 但是问题是 它的下载进度是更新不了,先说怎么实现这个更新, 全局的 handler 对象应该浮现出来,这个时候 线程类的handler对象是下载列表的 并不是当前manger的,所以这个时候 在manger类里面需要给线程类handler赋

4、值 MyThread,mhandler = handler; 这样话就可以拿到下载线程发出的Message咯。也就是发送的字节下载数,然后在manger的handler类更新UI这个时候 下载进度就是可以动的了这个时候已经是多任务下载了,并且可以更新下载进度了,C.暂停的控制,也许你会想到全局bool 。我之前也是这么想的但是后来发现 一个暂停全部就暂停了,所以不能全局变量 所以需要针对每个线程,每个线程怎么控制呢 这个时候需要一个map了,在开下载的时候 把线程对象存到map里,那么再我们单击点一项时,则就可以通过url 找到对应的 线程对象了,在改变其状态 就可以暂停了 ,D.再下载功能,当暂停时。判断是否第一次进入,因为用户直接到Manger界面。那么 就没有线程对象 那么要到数据库把任务最后的字节给读出来,如果存在线程对象,那么就去读到线程对象,就可以读到开始点了,这个开始点要判断好 否则就不可以续下载了,代码 截图片段 map 里的线程 这是 下载发数据 这是Manger类 Handler的更新UI 这是线程下载 状态,已经数据库取出下载类型,以上就是实现思路,已经代码片段 。多多给与意见,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号