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

时间:2016-02-23 09:25:40

标签: java android download progress-bar progress

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

            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%(因为ex的fileLength大约是12226,总数是29349) 你对这个话题有任何了解吗?