从Firebase存储中一张一张下载多个图像

时间:2019-06-11 21:08:59

标签: java android callback firebase-storage

我正在编写一个从Firebase存储下载多个图像的功能

代码如下:

public static void downloadImage(String imgName, final OnBytesSuccessListener listener) {

  StorageReference storageRef = FirebaseStorage.getInstance()
        .getReferenceFromUrl("gs://xxxxxx.appspot.com/images").child(imgName + ".png");

  final long ONE_MEGABYTE = 1024 * 1024;

  storageRef.getBytes(ONE_MEGABYTE).addOnSuccessListener(new OnSuccessListener<byte[]>() {
    @Override
    public void onSuccess(byte[] bytes) {
      if (bytes == null) {
        listener.onBytesSuccess(null);
      } else {
        listener.onBytesSuccess(bytes);
      }
    }
  });
}

OnBytesSuccessListener是一个回调函数,它返回字节数据,然后在循环中调用该函数以下载所有图像。

但是在这种情况下,所有图像几乎都将同时下载。有没有办法让他们在上一次下载完成后下载一个?

0 个答案:

没有答案