位置: 编程技术 - 正文

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自定义系统服务框架)

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

  • 小规模纳税人企业所得税多少
  • 按差额缴纳税款会计分录
  • 长期股权投资其他综合收益什么时候转留存收益
  • 收到天使投资如何做账
  • 所得税补缴怎么回事
  • 农户的竹扫把如何开票
  • 月末将应交未交增值税转入未交增值税
  • 行政单位预算资金拨付流程
  • 工会经费为员工计税依据是什么
  • 房地产企业契税税率是多少
  • 应收账款坏账计提比例变更
  • 营利性养老机构需要缴纳哪些税
  • 港币转人民币怎么转账
  • 招标代理服务费收费标准2023
  • 货样广告品管理办法
  • 汽车维修行业工时标准
  • 工程成本哪些可以抵扣
  • 无形资产评估增值
  • 增值税发票专票有效期
  • 增值税申报内容及步骤
  • 不抵扣的发票怎么导入做账系统
  • 代理进口货物怎么做账
  • 外籍人士劳务费怎么交税
  • iphone无法打开网页怎么办
  • 缴纳印花税怎么算
  • 什么叫经济作物和粮食作物
  • 用人单位发放工资时跨行手续费应由谁支付
  • 苹果电脑连接打印机打印不出来
  • 应交增值税缴纳后入什么费用
  • tracert命令的作用及用法
  • 企业发放职工薪酬的账务处理例子
  • PHP:oci_field_scale()的用法_Oracle函数
  • 补缴以前年度公积金误入当年费怎么办
  • 律师异地办案家属要跟着吗
  • 桑吉尔夫个人简介
  • 邮电费什么意思
  • 分配结转制造费用时借方科目?
  • 用python处理图像
  • 利润表主营业务成本怎么算
  • 所得税汇算清缴调整项目
  • 商品流通企业购入的商品采用售价金额法核算的
  • 什么情况需要预缴
  • sql查询语句怎么用
  • 研发人员的差旅费计入管理费用吗
  • 总资产增长率的定义
  • 实行自行申报的项目有哪些
  • 纳税人发生应税行为
  • 以前年度应付款少记怎么入账
  • 零余额账户银行回单
  • 独立核算 单独核算
  • 农业机耕开发票税收分类编码是什么?
  • 暂领款是什么意思
  • 营改增后建筑业开票规定
  • 公司被私募基金收购有啥影响 裁员
  • 发票作废有什么后果
  • 旅游,饮食业会议内容
  • Windows下安装爱思助手V8
  • redhat6.5安装图形界面
  • windows自带截图软件
  • 收集整理的近义词
  • vista升级选项灰色
  • 苹果mac升级系统
  • ubuntul
  • linux管理工具有哪些
  • 笔记本不支持win8
  • windows8无线网络选项消失不见
  • win8 应用商店
  • win7怎么下到u盘
  • windows7鼠标设置在哪里
  • cocos2d-x2.2.3和android平台环境的搭建
  • js在对象的方法中访问属性name的语法为
  • unity3d有什么用
  • shell 解析yml
  • linux python gui
  • JavaScript中的this指向
  • google it automation with python
  • 发票可以异地领用吗
  • 地税局上班时间是几点
  • 宿迁市国家税务局徐友谅
  • 广东省电子税务局app
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设