Как я могу получить все данные пользователей, сохраненные из базы данных Firebase, с помощью Android Studio? - PullRequest
0 голосов
/ 01 мая 2019

enter image description here

Я хочу получить и показать данные Коллекции, сохраненные в базе данных Firebase на экране Android.

Я получаю три типа информации (заказы, количество, дата) от пользователей и сохраняю их в базе данных, используя:

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

А теперь я хочу получить все данные (orderText, amountText, dateText) Сохранено в коллекции «Заказы» может быть в виде списка.

Как я могу это сделать?

1 Ответ

0 голосов
/ 01 мая 2019

Чтобы получить значения ваших свойств orderText, quantityText и dateText в одном объекте OrderInfo, используйте следующие строки кода:

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

Если вы хотите получить все OrderInfo объекты в вашей коллекции orders, используйте следующие строки кода:

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
        }
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...