Android: 分段下载单个文件

7

我正在开发一个类似于Android的Internet Download Manager(IDM)应用程序。

我想知道如何在Android中下载文件的不同部分,就像IDM一样。

我该如何获取文件的元数据并如何分段下载文件?

下载时没有用户名密码或任何限制...只需通过URL简单下载即可。


通过哪种协议? - Simon Forsberg
1个回答

7
假设您正在使用HTTP进行下载,您需要使用HEAD HTTP动词和RANGE HTTP标头。 HEAD会提供文件大小(如果可用),然后RANGE允许您下载字节范围。
一旦您有了文件大小,将其分成大致相等的块,并为每个块生成下载线程。完成后,按正确顺序编写文件块。
编辑:
如果您不知道如何使用RANGE标头,这里有另一个SO答案解释如何使用: https://dev59.com/iW025IYBdhLWcg3wEhjr#6323043

安卓中有没有实现这个功能的函数? - Rahul
是的,我已经编辑了答案并包含了另一个答案的链接。 - gcochard

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接