使用多线程断点续传下载器在下载的时候多个线程并发可以占用服务器端更多资源,从而加快下载速度,在下载过程中记录每个线程已拷贝数据的数量,如果下载中断,比如无信号断线、电量不足等情况下,这就需要使用到断点续传功能,下次启动时从记录位置继续下载,可避免重复部分的下载。这里采用数据库来记录下载的进度。
效果图
断点续传
1.断点续传需要在下载过程中记录每条线程的下载进度
2.每次下载开始之前先读取数据库,查询是否有未完成的记录,有就继续下载,没有则创建新记录插入数据库
3.在每次向文件中写入数据之后,在数据库中更新下载进度
4.下载完成之后删除数据库中下载记录
Handler传输数据
这个主要用来记录百分比,每下载一部分数据就通知主线程来记录时间
1.主线程中创建的View只能在主线程中修改,其他线程只能通过和主线程通信,在主线程中改变View数据
2.我们使用Handler可以处理这种需求
主线程中创建Handler,重写handleMessage()方法
新线程中使用Handler发送消息,主线程即可收到消息,并且执行handleMessage()方法
动态生成新View
可实现多任务下载
1.创建XML文件,将要生成的View配置好
2.获取系统服务LayoutInflater,用来生成新的View
LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
3.使用inflate(int resource, ViewGroup root)方法生成新的View
4.调用当前页面中某个容器的addView,将新创建的View添加进来
示例
进度条样式 download.xml
顶部样式main.xml
MainActivity.java
Downloader.java
Dao:
DBOpenHelper:
InfoDao:
分享到:
相关推荐
Android多线程断点续传下载器,通过Http协议进行下载,自己进行封装,使用简单方便
android 多线程 断点续传 下载器 数据库保存
Android 多线程可断点续传上传文件至服务器Demo(Android端编辑器:Android Studio,服务器端编辑器:Eclipse,请注意手机默认下载目录必须要有t007.zip,服务器端必须有D:\temp\temp目录)
android客户端实现断点续传功能,可实现多线程断点续传下载。实现android端断点续传下载需要服务器的支持,本demo中包含了个人写的服务器端的下载功能的demo.
在上一篇博文《Android多线程下载示例》中,我们讲解了如何实现Android的多线程下载功能,通过将整个文件分成多个数据块,开启多个线程,让每个线程分别下载一个相应的数据块来实现多线程下载的功能。多线程下载中,...
Android多线程断点续传下载器,很好的学习资料,包括完整代码以及详细注释。 无须其他配置,服务器端只需建立一个Dynamic project,然后包含一个mp3文件即可.rar,太多无法一一验证是否可用,程序如果跑不起来需要自...
本项目完成的功能类似与迅雷等下载工具所实现的功能——实现多线程断点下载。 主要设计的技术有: 1、android中主线程与非主线程通信机制。 2、多线程的编程和管理。 3、android网络编程 4、自己设计实现设计...
本文实例讲述了Android编程开发实现多线程断点续传下载器。分享给大家供大家参考,具体如下: 使用多线程断点续传下载器在下载的时候多个线程并发可以占用服务器端更多资源,从而加快下载速度,在下载过程中记录每个...
Android 下载管理器代码 断点续传 等待 多线程 进度监听
我的Android进阶之旅------>Android基于HTTP协议的多线程断点下载器的实现的源代码,原文地址:http://blog.csdn.net/ouyang_peng/article/details/10125409
使用多线程断点续传下载器在下载的时候多个线程并发可以占用服务器端更多资源,从而加快下载速度
一个Android多线程下载器,支持断点续传,但是没有做界面
超级好用的多线程资源下载器,,支持断点续传。 那么就选择这个吧!速度很快,支持断点续传
android多线程断点下载,通过本Android下载实例,可了解到以下知识技巧:实时得到文件下载的长度,设置获取实体数据的范围、获取文件已下载文件长度、原始文件长度、线程数、本地保存文件、缓存各线程下载的长度、每...
Android多线程断点续传下载器,很好的学习资料,包括完整代码以及详细注释。 无须其他配置,在网上找一个mp3下载地址(我找的是百度音乐)放到strings.xml不报错就行。
从整体上来看 一款Android产品分为设计 编码和测试三个阶段 《Android开发三剑客:UML 模式与测试》着眼于Android产品的两个重要环节 设计和测试 分为上篇 中篇和下篇 上篇以Android多线程断点续传下载器为例 细致入...
我的Android进阶之旅------>Android基于HTTP协议的多线程断点下载器的实现的源代码,原文地址:http://blog.csdn.net/ouyang_peng/article/details/10125409 这个进行了优化
License ...GigaGet is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the ...