使用Firebase上传更新进度条

APP*_*ird 13 android firebase firebase-storage

我试图添加一个进度条来上传firebase上的文件.但不幸的是,它并不表示上传进度.logcat和进度条都只显示文件何时达到100%

   uploadTask.addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() {
            @Override
            public void onProgress(UploadTask.TaskSnapshot taskSnapshot) {
                double progress = 100.0 * (taskSnapshot.getBytesTransferred() / taskSnapshot.getTotalByteCount());
                System.out.println("Upload is " + progress + "% done");
            int currentprogress = (int) progress;
                progressBar.setProgress(currentprogress);
            }
        }).addOnPausedListener(new OnPausedListener<UploadTask.TaskSnapshot>() {
            @Override
            public void onPaused(UploadTask.TaskSnapshot taskSnapshot) {
                System.out.println("Upload is paused");
            }
        });
Run Code Online (Sandbox Code Playgroud)

Bob*_*der 26

更改计算中的术语分组progress以强制转换为浮动.正如你的代码现在,你正在划分两个长.除法的结果将是0 getBytesTransferred() == getTotalByteCount(),然后它将是1.

 double progress = (100.0 * taskSnapshot.getBytesTransferred()) / taskSnapshot.getTotalByteCount();
Run Code Online (Sandbox Code Playgroud)

  • 哎哟...这在代码示例中是一个愚蠢的错误.我做了一个注意来解决它. (3认同)
  • @FrankvanPuffelen先生,我已经通过https://code.google.com/p/android/issues/detail?id=215428报告了这个问题 (2认同)