gpt4 book ai didi

android - 在没有下载管理器或第三方库的情况下在连接不良时加载文件

转载 作者:行者123 更新时间:2023-11-30 01:39:07 24 4
gpt4 key购买 nike

我写了一些库,它有时应该加载 3-5Mb 文件。我尝试使用 HttpURLConnection,但如果连接从最后一个地方丢失,我无法用它恢复下载。我也试过 DownloadManager,但它需要 DOWNLOAD_WITHOUT_NOTIFICATION,这是 Not Acceptable 。没有它,它会在右上角显示加载图标,这也是 Not Acceptable 。我也不能使用第三方库。

是否有任何代码示例如何强制在连接不良(EDGE、过载的服务器)或其他一些我可以集成代码的开源库上工作 HttpURLConnection?

最佳答案

看看Volley .它允许为请求自定义重试策略。您可以实例化自定义的 DefaultRetryPolicy并使用 setRetryPolicy 将其设置为您的请求。

小心,因为 Volley 将整个下载的 block 缓存在内存中。

可能还有其他库,所以在推出您自己的解决方案之前先检查一下。

如果没有其他方法满足您的需要,您可以将 HTTPUrlConnection 流通过管道传输到文件流并在下载时写入。您需要编写逻辑代码以自行管理下载状态。首先,您需要提前知道要下载的文件的大小(如果您的服务器向您发送“Content-Length” header ),并且要恢复部分失败的下载,您将打开一个到同一文件的新连接并从使用 http 范围的最后下载字节。

关于android - 在没有下载管理器或第三方库的情况下在连接不良时加载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34739284/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com