【问题标题】:How can I retrieve all the collection data users saved from Firebase Database using android studio?如何使用 android studio 检索用户从 Firebase 数据库中保存的所有收集数据?
【发布时间】:2019-05-01 05:32:35
【问题描述】:

我想在安卓屏幕上检索并显示保存在 Firebase 数据库中的 Collection 数据。

我从用户那里获得三种类型的信息(订单、数量、日期)并将它们保存在数据库中:

OrderInfo orderInfo = new OrderInfo(orderText, quantityText, dateText);
db.collection("orders").document(user.getUid()).set(orderInfo)

现在我想检索所有数据(orderText、quantityText、dateText) 可能以列表的形式保存在集合“订单”中。

我该怎么做?

【问题讨论】:

    标签: android firebase google-cloud-firestore


    【解决方案1】:

    要在单个OrderInfo 对象中获取orderTextquantityTextdateText 属性的值,请使用以下代码行:

    FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
    CollectionReference ordersRef = rootRef.collection("orders");
    String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
    ordersRef.document(uid).get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
        @Override
        public void onComplete(@NonNull Task<DocumentSnapshot> task) {
            if (task.isSuccessful()) {
                DocumentSnapshot document = task.getResult();
                if (document.exists()) {
                    OrderInfo orderInfo = document.toObject(OrderInfo.class);
                    Log.d(TAG, orderInfo.getOrderText() + " / " + orderInfo.getQuantityText() + " / " + orderInfo.getDateText());
                }
            }
        }
    });
    

    如果您想获取您的orders 集合中的所有OrderInfo 对象,请使用以下代码行:

    FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
    CollectionReference ordersRef = rootRef.collection("orders");
    ordersRef.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
        @Override
        public void onComplete(@NonNull Task<QuerySnapshot> task) {
            if (task.isSuccessful()) {
                List<OrderInfo> list = new ArrayList<>();
                for (QueryDocumentSnapshot document : task.getResult()) {
                    OrderInfo orderInfo = document.toObject(OrderInfo.class);
                    list.add(orderInfo);
                }
    
                //Do what you need to do with  your list
            }
        }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-07
      • 1970-01-01
      • 2021-11-02
      • 2021-12-22
      • 2018-10-04
      • 1970-01-01
      • 1970-01-01
      • 2019-07-24
      相关资源
      最近更新 更多