Android 从多文件夹Firebase存储获取所有文件
我正在为我的Android应用程序使用Firebase存储,我有一个根文件夹“Wallpapers”,该文件夹中有多个不同类别的文件夹。我需要在一次呼叫中获取所有这些文件夹中的所有文件。我用了下面的方法,Android 从多文件夹Firebase存储获取所有文件,android,firebase,firebase-storage,Android,Firebase,Firebase Storage,我正在为我的Android应用程序使用Firebase存储,我有一个根文件夹“Wallpapers”,该文件夹中有多个不同类别的文件夹。我需要在一次呼叫中获取所有这些文件夹中的所有文件。我用了下面的方法, private void loadWallpapers(){ StorageReference listRef = firebaseStorage.getReference().child("Wallpapers"); listRef.listAll()
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;
});
}
因为它包含多个侦听器,所以这是实际的方法吗?或者有更好的方法吗?列出的文件很浅-它不会返回嵌套在给定前缀下的文件。API为您提供了“文件夹”和立即前缀的文件。如果你想更深入,你必须打多个电话——每个虚拟“文件夹”一个电话,你想列出它。这样行吗?因为这将列出“墙纸”文件夹中的所有图像。在我的情况下,此位置没有文件。所有图片都在“墙纸”文件夹的子文件夹内。如果你真的需要在一个请求中获取所有文件,考虑使用云SDK编写后端代码,并让客户端通过一些API端点调用该文件。