展开数据类型的数据firestore查询返回

时间:2018-05-30 03:02:57

标签: java firebase hashmap google-cloud-firestore

这会返回一个ArrayList,其中包含我在Firestore中存储的图像Uris。我怎样才能解开数组列表并逐个解压缩?下面是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);
                            }
                        }
                    }
                }
            }

db structure

1 个答案:

答案 0 :(得分:1)

要解决此问题,请使用以下代码行:

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.........,