- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我写了一些库,它有时应该加载 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/
我在使用 Heroku 时遇到问题,当我尝试部署我的应用程序时,它没有运行 run assets:precompile而且我还没有在本地预编译我的 Assets ,我在 Git 中没有 list 文件
(这是为您提供围绕我的问题的背景信息。您可以跳到“问题”并阅读该内容,然后如果您想直接进入主题,则可以返回并浏览背景知识.抱歉,这是一面文字墙!) 我需要将一堆非常非常糟糕的 JSON 存储在数据库中
我是一名优秀的程序员,十分优秀!