我正在玩弄Firebase存儲,並將其加入照片收集應用程序,該應用程序將一組照片上傳到Firebase存儲後端。我想上傳多張照片並等待所有任務完成,收集下載網址並繼續下一步。這裏是我的代碼如下如何執行多個Firebase上傳並等待集體搜索結果
public void saveImageData() {
Incident incident = new Incident();
final ArrayList<Uri> downloadUris = new ArrayList<>();
StorageReference storageRef = storage.getReferenceFromUrl(Constants.FIREBASE_URL);
for (Uri uri : imageUris) {
StorageReference imagesRef = storageRef.child("images/" + uri.getLastPathSegment());
uploadTask = imagesRef.putFile(uri);
uploadTask.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
downloadUris.add(taskSnapshot.getDownloadUrl());
Log.e(TAG, "Size of data: " + downloadUris.size());
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
}
});
}
}
我想收集所有uris並使用存儲在downloadUris中的結果。當我輸入時,我意識到這可能不是一個火力點問題,但瞭解如何等待並行任務完成執行並繼續執行結果。我怎樣才能達到這個目標? 謝謝
難道建議的回答可以幫助您的情況? –