java - Android FireStore 以列表形式检索

标签 java android firebase google-cloud-firestore

Collection

enter image description here

I have succeed in pushing data as following way:

 private void onAddItemsClicked() {
    // Get a reference to the restaurants collection
    CollectionReference quotes = mFirestore.collection("quotes");

    for (int i = 0; i < 10; i++) {
        // Get a random Restaurant POJO
        TaskItem item = new TaskItem();
        item.setId(UUID.randomUUID().toString());
        item.setTitle("good life is key to success " + i);
        item.setCategory("Life " + i);

        // Add a new document to the restaurants collection
        quotes.add(item);
    }
}

我想在我的自定义列表对象中检索它,比如说 List<TaskItem> mList;其中包含所有 Firestore 数据。

我尝试了以下方法,但没有显示此类文档。

        mQuery = mFirestore.collection("quotes");
        mQuery.document().get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
        @Override
        public void onComplete(@NonNull Task<DocumentSnapshot> task) {
            if (task.isSuccessful()) {
                DocumentSnapshot document = task.getResult();
                if (document != null && document.exists()) {
                    Log.d("TAG", "DocumentSnapshot data: " + document.getData());
                } else {
                    Log.d("TAG", "No such document");
                }
            } else {
                Log.d("TAG", "get failed with ", task.getException());
            }
        }
    });

我在这里缺少什么?任何引用或帮助

最佳答案

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

mQuery.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
    @Override
    public void onComplete(@NonNull Task<QuerySnapshot> task) {
        if (task.isSuccessful()) {
            List<TaskItem> list = new ArrayList<>();
            for (DocumentSnapshot document : task.getResult()) {
                TaskItem taskItem = document.toObject(TaskItem.class);
                list.add(taskItem);
            }
            Log.d(TAG, list.toString());
        }
    }
});

list 现在包含所有 TaskItem 对象。

关于java - Android FireStore 以列表形式检索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49568811/

相关文章:

java - 更改 JTabbedPane 的外观

java - viewpager 中的 Android 应用程序 fragment 无缘无故分离

javascript - 为什么我收到 TypeError : _this. props ."functionName"is not a function ReactJS

android - 当免费计划中有超过 100 个实时连接时,Firebase ValueEventListener 调用是否成功?

android - 应用程序终止时 FCM 推送通知 FLUTTER

java - 如何使用 MVN 构建 hortonworks/simple-yarn-app

Java、字符串差分算法

java - 高尔夫纸牌的游戏状态树

android - 从另一个类调用 AsyncTask

android - 修改 SimpleCursorAdapter 的数据