Firebase存储进度条

时间:2016-07-24 20:08:59

标签: android firebase firebase-storage

我的问题非常简单,当我调用taskSnapshot.getTotalByteCount()时,我的值为-1,因此当我插入addOnProgressListener的示例代码时,我得到非常奇怪的进度更新。 继承了我的完整代码:

@Override
public void onProgress(UploadTask.TaskSnapshot taskSnapshot) {
  double progress = (100.0 * taskSnapshot.getBytesTransferred()) / taskSnapshot.getTotalByteCount();
  Log.d("Progress", "onProgress: The value of the max is: " + taskSnapshot.getTotalByteCount());
  Log.d("Progress", "onProgress: The progress is: " + progress);
}

请帮帮我们! :(

2 个答案:

答案 0 :(得分:0)

我使用.putFile而不是.putStream设置上传任务,它可以工作,不知道为什么,但现在它的工作原理!这是代码:

UploadTasktask=FirebaseStorage.getInstance().getReferenceFromUrl(Constants.Firebase_Storage).child("Test").putFile(uri, metadata)

答案 1 :(得分:0)

因为它是一个警告,我已经看到reported此问题导致其未在官方docs中宣布的人 将您的代码更改为:

@Override
@SuppressWarnings("VisibleForTests")

public void onProgress(UploadTask.TaskSnapshot taskSnapshot) {
    double progress = (100.0 * taskSnapshot.getBytesTransferred()) / taskSnapshot.getTotalByteCount();
    Log.d("Progress", "onProgress: The value of the max is: " + taskSnapshot.getTotalByteCount());
    Log.d("Progress", "onProgress: The progress is: " + progress);
}