我必须从FTP服务器下载一个大的压缩文件(包含多个文件)。在下载过程中,如果用户或网络中断/暂停,则应保存损坏的下载文件。之后,用户可以从破坏的地方恢复下载相同的文件。如何在android下载大文件时处理中断?
2
A
回答
3
您可以使用DownloadManager类。
下载管理器是一个处理长时间运行的HTTP下载的系统服务。
检查http://developer.android.com/reference/android/app/DownloadManager.html
以上,因为API级别9
0
一个可以设置字节的范围内使用Range HTTP头下载可用类。你所要做的就是记住你之前下载了多少个字节。 Apache的使用类别,它应该是这样的:
DefaultHttpClient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(youSourceUri);
// That's the important part. Count represents the number of bytes already downloaded.
// We leave the range open, so it will download 'till the end of the file.
httpGet.addHeader(new BasicHeader("Range", "bytes=" + count + "-"));
HttpResponse response = httpClient.execute(httpGet);
HttpEntity entity = response.getEntity();
InputStream inputStream = entity.getContent();
// Then read from the input stream
记得添加适当的try/catch/finally语句安全地处理流,并确保它们关闭。为了便于阅读,这里省略了它们。
相关问题
- 1. 在Tcl中处理下载中断
- 2. 在ASP.NET中处理文件下载
- 3. 在Android中处理大型XML文件
- 4. 如何在ASP.NET中实现文件下载时处理文件流?
- 5. 在android中的大文件下载
- 6. 如何处理下载弹出警报,同时下载一个文件中铬
- 7. w3wp处理下载文件
- 8. 如何在PHP中下载大文件
- 9. Android的下载大文件
- 10. 通过Android下载管理器下载大文件
- 11. Android如何处理下载图像的大小?
- 12. 在Android中处理下载监听器
- 13. 在android中处理文件
- 14. 在Android下载较大的文件
- 15. 处理器在中断时如何处理指令
- 16. 如何在iOS下载大文件?
- 17. 在Android中下载文件
- 18. Android:在下载数据时处理意外的网络断开连接
- 19. 如何处理下载流
- 20. PHP:如何处理单个脚本中的文件处理和下载操作?
- 21. jQuery在处理大文件时跳动
- 22. 在Android上下载文件大于文件大小
- 23. 如何处理PDF格式的Codeigniter中的文件下载?
- 24. 如何下载,解压缩和处理OCaml中的gzip文件?
- 25. 如何处理大型文本文件?
- 26. Android SDK中下载中断
- 27. 在android中下载文件之前获取文件大小
- 28. 如何在android中设置下载文件的计时器?
- 29. 如何在Android中同时下载多个文件
- 30. 如何知道下载文件的大小在下载之前和之后android
问题在哪里? – cjk 2012-08-13 10:29:23
在标题我想。 :)。 Firefox在下载时保存文件。 IDM保存每个部分,然后在下载完成时进行确认。 – Shaiful 2012-08-13 10:30:39
我需要android中的相同功能。 – Shafi 2012-08-13 10:58:22