我如何在Firebase Storage Android中获取文件夹名称列表?

时间:2018-10-09 07:53:18

标签: android firebase firebase-storage

enter image description here

如何获取所有文件夹文件/,R52H50TN40F /,R58H42X2DCE / ...的列表

2 个答案:

答案 0 :(得分:0)

无法使用firebase client api

获取所有文件夹的列表

但是您可以结合使用Firebase FunctionsCloud Storage bucket API

  1. 创建firebase函数(documentation)
  2. 使用Firebase Bucket getFiles function

答案 1 :(得分:0)

有可能。确保您的build.gradle文件中具有此依赖项:

dependencies {
    ...
    implementation 'com.google.firebase:firebase-storage:19.1.1' // or later
}

这是您遍历目录及其条目的列表的方式:

listRef = FirebaseStorage.getInstance().getReference("/");             

listRef.listAll()                                                      
    .addOnSuccessListener(new OnSuccessListener<ListResult>() {        
        @Override                                                      
        public void onSuccess(ListResult listResult) {                 

            Log.d(TAG, listRef.getName());                             
            for (StorageReference prefix : listResult.getPrefixes()) { 
                Log.d(TAG, prefix.getName());                          
                // This will give you a folder name                    
                // You may call listAll() recursively on them.         
            }                                                          

            for (StorageReference item : listResult.getItems()) {      
                // All the items under listRef.                        
            }                                                          
        }                                                              
    })                                                                 
    .addOnFailureListener(new OnFailureListener() {                    
        @Override                                                      
        public void onFailure(@NonNull Exception e) {                  
            // Uh-oh, an error occurred!                               
        }                                                              
    });