位置: 编程技术 - 正文

Android 断点续传的实现(实现断点续传的工具软件)

编辑:rootadmin

推荐整理分享Android 断点续传的实现(实现断点续传的工具软件),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:android 断点续传上传,android 断点续传上传,http1.1断点续传,android断点上传,android 断点续传上传,android断点上传,android 断点续传下载,android 断点续传下载,内容如对您有帮助,希望把文章链接给更多的朋友!

这两天用了下android5.1下载功能,简直鸡肋。无奈自己研究了半天的断点续传,总结一下。本文参考了慕课网XRay_Chen大神的视频,在此表示衷心的感谢!顺便说明,作者本身还只是个菜鸟,因此我希望能写一篇能让菜鸟看得懂的博客

基础知识

  因此我们可以从上面一句话得出这样一个结论,如果想要实现断点续传,必须保存断点。于是,我们可以定义这样一个普通类,用来保存文件的网络地址url,断点的位置finished(初始为0),以及结束位置end,简单代码如下

其次我们还需要定义一个普通的文件类,保存基本的文件信息,如文件大小,URL,名字等。

  同样我们需要知道一些简单的http协议的内容

Header 作用 示例 Accept-Ranges 可以请求网页实体的一个或者多个子范围字段 Accept-Ranges: bytes

翻译成大白话来讲就是,你可以通过设置Range来下载文件的一部分内容 注意:其返回的状态码不是(HttpURLConnection.HTTP_OK),而是(HttpURLConnection.HTTP_PARTIAL),因此在安卓中我们这样使用这个Header,代码实例

除了安卓的基本使用外,基础知识大概也就这么多.

页面布局

大致就是如下的样子,相当的简单 一个TextView 一个ProgressBar,两个Button

实现过程

定义普通的常量

Service部分

我们的Activity实现的功能是向Service发送下载与暂停请求,Intent需要传递下载文件的对象,此时文件长度临时设置为0,当从网络获取到文件长度是再设置

然后通过按钮设置响应事件,向Service发送下载与暂停的请求

从Service的生命周期可以看出,第一次启动服务时,运行 onCreate()->onStartCommand(),再次启动时只会调用onStartCommand(),因此我们可以重写onStartCommand()

Android 断点续传的实现(实现断点续传的工具软件)

下载基本的文件信息,与网络有关,开线程下载

Service中定义handler开始下载

恩,现在Service已经实现.

DownloadTask部分

主要实现文件的下载与暂停的控制,以及定时的发给主线程完成进度的消息.

下载/暂停部分

这一部分涉及到断点类ThreadInfo的基本操作,由于中断,所以需要我们及时的把当前的断点保存起来,这里选择使用数据库,当然你也可以选择其他方式,在此不在赘述数据库的实现,只是提供一个基本的接口

下载/暂停的基本实现

下载线程私有类实现

广播部分

发送广播

Activity部分

Activity部分除了控制UI还有接受广播,更新下载进度

总结

终于写完了,由于篇幅过长,在此,总结一下 大致过程

当然,楼主也提供了响应的源代码 github

年5月日 于

仿微信语音语音聊天 仿微信语音聊天,录音结束后显示在listview上,点击item可进行播放。一。效果图二、代码2.1activity_main.xml的编写LinearLayoutxmlns:android=

Android开发开源项目之-PullToRefresh源码分析 学习Android已经好几年了,但从没有认真写点什么,最近在一位同事的鼓动下有了写博客的想法。这是我第一篇博客,从第三方开源项目开始吧。首先我

android的SDK离线安装详细教程

标签: 实现断点续传的工具软件

本文链接地址:https://www.jiuchutong.com/biancheng/386088.html 转载请保留说明!

上一篇:Android自定义系列(2)——拟物化类弹窗式视频播放窗口(Android自定义系统服务框架)

下一篇:仿微信语音语音聊天(仿微信语音聊天)

  • 小规模纳税人应交增值税明细科目
  • 娱乐行业缴纳的税收
  • 视同销售的增值税如何计算
  • 汇算清缴银行手续费
  • 取得住宿发票的专用发票可以抵扣吗
  • 报销费用可不可以开专票
  • 收到客户用房抵货款怎么办
  • 给客户赔偿如何入账
  • 一般纳税人购入货物相关的增值税可以抵扣
  • 审计人员用餐费用
  • 外贸企业需要交哪些税费
  • 一般纳税人销售自己使用过的物品
  • 不动产的进项税额分两年抵扣吗?
  • 库存商品的账面余额是什么意思
  • 金蝶哪个版本最好
  • 收到管理费用的会计科目
  • 固定资产转投资性房地产是会计政策变更吗
  • 我公司以房产土地为主
  • 鸿蒙系统怎么开启开发者权限
  • 材料按计划成本计价下,外购材料结算
  • 多提附加税跨年怎么申报
  • 微软即将终止当前系统版本
  • 收到的税费返还减少说明什么
  • Pont Rouge (Red Bridge) over the Palmer River in Sainte-Agathe-de-Lotbinière, Quebec, Canada (© Jean Surprenant/Getty Images)
  • 短期资金都是债务类资金
  • 圣诞精灵什么意思
  • 教育经费地方出多少
  • ros入门21讲
  • 什么叫web渗透测试
  • 会计要考哪些证书,难度如何
  • 基础的数据类型
  • pycharm折叠代码块快捷键
  • 累计折旧如何计算使用年限
  • 购入固定资产入账成本
  • 注册子公司需要的材料
  • 办公室装修费多少钱可以一次性入账
  • 下列项目的进项税额可以从销售税额中抵扣的是
  • SQL Server 2008 R2占用cpu、内存越来越大的两种解决方法
  • 银行手续费已扣发票未开的账务处理
  • 银行理财产品是单利还是复利
  • 公司买的材料做什么分录
  • 个体户是怎么交公积金的
  • 社会组织志愿者参观泉州华侨历史博物馆
  • 人力资源公司劳务外包
  • 餐饮行业加盟模式
  • 转出上年的进项税怎么算
  • 银行利息回单怎么报账审核
  • 期初建账明细账怎么建账
  • “财务报表分析”
  • 定额发票怎么领?
  • 国税退回多缴税款
  • 销售自己使用过的物品免税吗
  • 如何考预算师
  • mysql使用的协议
  • windowsxp电脑开机
  • docker设置固定ip
  • win7如何创建一个新用户
  • linux rsyslogd
  • ip冲突不能上网怎么解决
  • dxva2.dll是什么意思
  • windows远程桌面怎么开启
  • win1020h2累积更新
  • Win7 64位纯净版无法安装第三方主题的可行破解方法
  • Win8/8.1下通过dism命令解压install.wim文件步骤
  • opengl画曲线
  • python scrapy爬虫
  • opengl编译
  • node.js中的http.request方法使用说明
  • jquery自定义插件
  • javascript()
  • 浏览器窗口上线怎么办
  • 在python中的用法
  • javascript概述
  • javascript几种类型
  • android studio操作指南
  • 怎么理解python
  • 生产变压器设备
  • 辽宁事业单位职测考试时间多长
  • 2021年京东养鸡如何合作
  • 如何查询医院是否有怀孕建档名额
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设