在android下载文件时更新进度条

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在android下载文件时更新进度条相关的知识,希望对你有一定的参考价值。

我尝试使用android中的服务下载文件...我能够编写程序,我可以下载我想要的东西。但问题是进度条!!!我无法定义总文件长度(或大小)和当前下载的大小。我用这段代码来获取文件长度

            URL url = new URL(urlToDownload);
            URLConnection connection = url.openConnection();
            connection.connect();
            int fileLength = connection.getContentLength();

我用这部分代码来定义当前的下载大小

           InputStream input = new BufferedInputStream(connection.getInputStream());
           OutputStream output = new FileOutputStream("/sdcard/BarcodeScanner-debug.apk");

           byte data[] = new byte[1024];
           long total = 0;
           int count;
           while ((count = input.read(data)) != -1) {
               total += count;
               int currentValue=(total * 100 / fileLength);
               output.write(data, 0, count);
           }

问题是,在下载结束时,我得到了241%而不是100%的东西(因为前面的fileLength大约是12226,总数是29349)你对这个话题有任何想法。

答案

结帐此链接供您参考

Download a file with Android, and showing the progress in a ProgressDialog

http://www.java-samples.com/showtutorial.php?tutorialid=1521

http://www.androidhive.info/2012/04/android-downloading-file-by-showing-progress-bar/

http://www.androidbegin.com/tutorial/android-download-progress-bar/

以上是关于在android下载文件时更新进度条的主要内容,如果未能解决你的问题,请参考以下文章

Android更新带进度条的通知栏

Android更新带进度条的通知栏

recyclerView中多任务下载文件进度条更新的问题

当我在 Android 中将文件上传到 Firebase 存储时,进度条没有更新

更新 Tkinter 进度条

用一个进度条下载多个文件 java / Android