2011-10-13 63 views
2

我已经编写的程序,在android中从Web服务器下载我已经使用JSON和Http请求程序正常工作...我想显示进度条百分比取决于要下载的东西。我的查询是如何按百分比增加进度条,具体取决于要下载和待处理的内容。我知道如何计算百分比,但我怎么知道从服务器下载了多少。水平ProgressBar百分比增量

+0

我也会被intrested如果有人知道它的情况。 .. –

回答

1

从服务器下载多少下载。

您必须在您的应用程序中实施Range request

如果您使用的是块,则可以使用this as a reference。否则,所有简单下载

 URLConnection cxn = url.openConnection(); 
     cxn.connect(); 
     int lenghtBytes = cxn.getContentLength(); 

如何递增进度条

使用publishProgress()中的一个的AsyncTask

publishProgress((int)(bytesDownloaded * 100/lenghtBytes)); 
+0

感谢里诺的回复,我知道如何使用Ayanc任务并发布进度,但是请你告诉我如何在程序中实施范围请求。我可以从服务器获取这个值吗? –

+1

有一个[DownloadManager.java](http://www.google.com/codesearch#rUC0lHK6Ryw/src/org/devtcg/five/util/streaming/DownloadManager.java)的链接,您可以看到完整的实现。如果你想要一个更简单的版本,[参考这个答案](http://stackoverflow.com/questions/3028306/download-a-file-with-android-and-showing-the-progress-in-a-progressdialog/ 3028660#3028660) – Reno