我正在为我的Android应用程序使用Firebase Storage,并且我有一个根文件夹“ Wallpapers”,并且该文件夹中有多个文件夹用于不同类别。我需要在一次调用中从所有这些文件夹中获取所有文件。我使用了以下方法,
private void loadWallpapers(){
StorageReference listRef = firebaseStorage.getReference().child("Wallpapers");
listRef.listAll()
.addOnSuccessListener(listResult -> {
for (StorageReference prefix : listResult.getPrefixes()) {
prefix.listAll().addOnSuccessListener(listResult1 -> {
for (StorageReference item : listResult1.getItems()) {
// Handle data here
}
});
}
})
.addOnFailureListener(e -> {
// Uh-oh, an error occurred!
int i =0;
});
}
因为它包含多个侦听器,这是这样做的实际方法吗?还是有更好的方法呢?
答案 0 :(得分:1)
列出文件的API provided by Firebase是 shallow -它不返回嵌套在给定前缀下的文件。 API为您提供了“文件夹”和直接前缀的文件。如果您想更深入一点,就必须打个电话-每个要列出的虚拟“文件夹”都要打一个电话。