到华为后,信息管理特别严格,文件不能外发。所以好久都没写博客了,今天周日,老婆非要我学习。就闲来无事,写一篇博客,呵呵……

前段时间,项目中提到了断点下载apk并静默安装的需求。本打算用应用市场成熟的经验。结果人家不给借用,就仅仅能自己写了,在网上找了一些资源,并自己封装了一下,就成了今天这篇博客的内容。

断点下载的主要实现就是用SQlite数据库记录下断点时下载的记录。然后再次下载时,查到数据库的记录。再从断点处開始下载,本例中用的是多线程,好了,废话不多说。直接上代码。

这里须要多说两句。大家的项目中以后假设涉及到多线程的,请一定要多考虑一些场景。比方非UI线程中逻辑处理是否全面、各分支场景处理是否得当、下载过程中的各种状态能否够控制、控制的是否正确等等,问题比較多,大家一定要控制好,否则測试时应该会发现很多问题。

DownloadHelper为下载的管理类,是本人封装后的,构建对象后就能够直接运行下载:

DownloadThread即为管理线程任务的,网上找一下,应该能够找到非常多类似的资源:
DownloadListener就是下载时的同步回调。能够监測到目标文件大小、获取到当前下载的字节数、下载完毕、下载失败的监听:

好了。就这么多了。有关静默安装的,见上也讲了非常多,可是本人觉得都不全面,仅仅说了一点半点的,初步接触静默安装的人看了之后应该还是无法实现静默安装的功能,待下一博客再讲。

本代码中还是有一些问题,由于涉及到多线程,各种场景的考虑不够全面,以后再行优化,不正确的地方,还请大家谅解。谢谢。

项目源代码

Android多线程断点下载相关推荐

  1. android 多线程断点下载,listview 模式 开始 暂停等功能

    android 多线程断点下载,listview 模式 代码依次如下: 布局: <?xml version="1.0" encoding="utf-8"? ...

  2. 即拿即用-Android多线程断点下载

    线程下载只需要确定好下载一个文件需要多少个线程,一般来说最好为3条线程,因为线程过多会占用系统资源,而且线程间的相互竞争也会导致下载变慢. 其次下载的时候将文件分割为三份(假设用3条线程下载)下载,在 ...

  3. Android 多线程断点下载demo实现

    先来一张效果图: 主要实现思路: 每一个下载都是通过RandomAccessFile对下载资源的总长进行切割之后,根据我们设置的线程多少进行计算之后开启多线程下载的.而每一个任务都是一个AsyncTa ...

  4. Android 多线程断点下载(非原创)

    1.服务器的CPU分配给每条线程的时间片相同,服务器带宽平均分配给每条线程,所以客户端开启的线程越多,就能抢占到更多的服务器资源,这里在客户端开启多个线程来从服务器下载资源 2.fragment_ma ...

  5. android学习笔记---31_多线程断点下载器,下载原理实现

    1.1.31_多线程断点下载器 ----------------------- 1.软件界面:   文件下载路径              text框   button 下载   点击后,下面显示下载 ...

  6. 安卓客户端的多线程断点下载(SharedPreferences版)

    题记:从百度百科上面我们知道,SharedPreferences是不支持多线程的,但是这次使用SharedPreferences实现了多线程断点下载.点解? 服务器端: 使用的是tomcat服务器,在 ...

  7. iOS开发网络篇—多线程断点下载

    iOS开发网络篇-多线程断点下载 说明:本文介绍多线程断点下载.项目中使用了苹果自带的类,实现了同时开启多条线程下载一个较大的文件.因为实现过程较为复杂,所以下面贴出完整的代码. 实现思路:下载开始, ...

  8. Java多线程断点下载

    多线程下载已经提高了下载的效率,但是当一些特殊情况发生的时候,我们需要对程序进行处理,这样效率会更高.比如,断电断网等造成下载中断,那么我们下一次又要重新开始下载,这样效率底下,所以我们可以考虑使用断 ...

  9. android 多线程断点续传下载 三

    android 多线程断点续传下载 三 转载于:https://www.cnblogs.com/zhujiabin/p/5660093.html

最新文章

  1. 日常生活 -- STM32开发前言
  2. 开箱即用——用模板快速生成《客户意见反馈表》
  3. 在windows上编译apr等相关动态库
  4. 使用入站适配器公开HTTP Restful API。 第1部分(XML)
  5. 每天一个linxu命令6之jps  查看java进程的端口
  6. Java基础部分快速复习(以前复习的时候放在自己的新浪博客上)
  7. 高铁上的排泄物都哪里去了,真的是“一泻千里”吗?
  8. jQuery Mobile主题使用与定制
  9. 易改衣完成 5000 万 A 轮融资,唯品会战略投资
  10. 【SVN】SVN创建分支
  11. JAVA实现汉字转拼英
  12. Panel的基本用法
  13. unity3D学习笔记1
  14. 苹果公司开发者账号申请——Apple Developer Program
  15. 2D激光雷达运动畸变矫正_base里程计
  16. automake 框架_centos 配置go-mrico框架
  17. 给大家推荐一个软件:视频广告过滤大师
  18. 新人如何利用今日头条自媒体平台赚钱?月收入轻松过万
  19. DeepMind VS Meta:实现纳什均衡理性最优解,还是多人非零和博弈算法更强大?
  20. Java后端程序员未来职业规划路线,超用心整理,建议收藏

热门文章

  1. android主流开源自动化框架(monkeyrunner,robotium,uiautomator
  2. [转载] 百科全说——何裕民:性格影响疾病(10-12-20)
  3. 基于WF4的新平台-表单格式
  4. iOS走近商城APP(四 runloop应用 获取通讯录并处理)
  5. 翻译 | CSS网格(CSS Grid)布局入门
  6. 《深入理解java虚拟机》
  7. 继承ViewGroup类
  8. Visual Studio调试时遇到的问题:生成下面模块时,启用了优化或没有调试信息
  9. Peter R. Rizun:“比特币现金社区的目标是全球80亿人使用BCH”
  10. BCH收银APP已在Android系统上下载超10000次