如何为下载提供进度条?
在我的应用程序中,我正在下载一个视频文件。我想显示下载的进度条。
通过 AsyncTask 概念怎么可能呢?
谢谢,
尼基
In my application i'm downloading a video file. I want to show the progress bar for the download.
How is it possible through AsyncTask Concept?
Thanks,
Niki
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用AsyncTask的onProgressUpdate方法。
如果您知道文件的大小,您可以在 onPreExecute 中设置最大值:
编辑:添加 myDialog.show();
有几种方法可以更新进度,可以通过增加一定量或将进度设置为特定值:
然后在 onDoInBackground():
编辑布局中带有进度条的示例:
在布局文件中,添加一个像这样的进度条
并且在你的异步任务中:
Use the onProgressUpdate method of AsyncTask.
If you know the size of the file you can set the max value in onPreExecute:
EDIT: added myDialog.show();
There are several methods to update the progress, either by incrementing by an amount or by setting the progress to a specific value:
Then in the onDoInBackground():
EDIT example with progressbar in layout:
In your layout file, add a progressbar like this
And in your asynctask:
首先你必须计算下载时间,然后根据时间限制实现进度条。这里我附上了进度条的示例程序
这是用于计算下载文件的时间长度的代码
List value = urlConnection.getHeaderFields().get("content-Length")
if (values != null && !values.isEmpty()) {
First you have to calculate downloading timi, and then implement progress bar as per time limit. here i enclosed the sample program of progress bar
And this is the code for calculating the Time length for downloading file
List values = urlConnection.getHeaderFields().get("content-Length")
if (values != null && !values.isEmpty()) {