Разверните массив типа данных, возвращаемых запросом Firestore - PullRequest
0 голосов
/ 30 мая 2018

Это возвращает мне ArrayList, содержащий изображение Uris, которое я сохранил в Firestore.Как я могу развернуть список массивов и извлечь их один за другим? Ниже приведен пример вывода logcat.

{0 = https://firebasestorage.googleapis.com/v0/b/app........, 1 = https://firebasestorage.googleapis.com/v0/b/app........., 2 = https://firebasestorage.googleapis.com/v0/b/app}

    firebaseFirestore.collection("Ads").whereEqualTo("user_id",user_id).get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
        @Override
        public void onComplete(@NonNull Task<QuerySnapshot> task) {
            if (task.isSuccessful()) {
                if (task.isSuccessful()) {
                    for (QueryDocumentSnapshot document : task.getResult()) {
                        Map<String, Object> map = document.getData();
                        for (Map.Entry<String, Object> entry : map.entrySet()) {
                            ArrayList<String> imgUri = (ArrayList<String>) entry.getValue();
                            for (String uri : imgUri) {
                                Log.d(TAG, uri);
                            }
                        }
                    }
                }
            }

структура дБ

1 Ответ

0 голосов
/ 30 мая 2018

Чтобы решить эту проблему, используйте следующие строки кода:

FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
rootRef.collection("Ads").whereEqualTo("user_id", user_id).get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
    @Override
    public void onComplete(@NonNull Task<QuerySnapshot> task) {
        if (task.isSuccessful()) {
            for (QueryDocumentSnapshot document : task.getResult()) {
                Map<String, Object> map = (Map<String, Object>) document.get("imgUri");
                for (Map.Entry<String, Object> entry : map.entrySet()) {
                    Log.d(TAG, entry.getValue().toString());
                }
            }
        }
    }
});

Вывод будет:

https://firebasestorage.googleapis.com/v0/b/app.........,
https://firebasestorage.googleapis.com/v0/b/app........., 
https://firebasestorage.googleapis.com/v0/b/app.........,
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...