Получение всех файлов из нескольких папок Firebase Storage - PullRequest
0 голосов
/ 10 марта 2020

Я использую Firebase Storage для своего приложения Android, и у меня есть папка root "Обои" и несколько папок внутри этой папки для разных категорий. Мне нужно получить все файлы из всех этих папок за один вызов. Я использовал следующий метод,

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;
                });
    }

Является ли это реальным способом сделать это, так как он содержит несколько слушателей? Или есть лучший способ сделать это?

1 Ответ

1 голос
/ 10 марта 2020

API , предоставляемый Firebase для вывода списка файлов: shallow - он не возвращает файлы, вложенные под указанным префиксом. API предоставляет вам как «папки», так и файлы с непосредственным префиксом. Если вы хотите go глубже, вам придется совершать несколько вызовов - по одному для каждой виртуальной "папки", которую вы хотите перечислить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...