Как получить ArrayList определенного поля из документов в коллекции Firestore?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как получить ArrayList определенного поля из документов в коллекции Firestore?

Сообщение Anonymous »

Я пытаюсь проверить, равен ли (строковый) серийный номер, записанный в EditTextView, любому из строковых полей, называемых серийным номером моих документов в коллекции, но каждый раз, когда я пытаюсь, я получаю ошибку или сбой, или это переходит к предыдущему действию, и я действительно не знаю, что делать. Я попытался просмотреть документацию, которая была очень полезна при записи данных в базу данных, но не при их получении, как в примере, показанном в документе:

Код: Выделить всё

db.collection("cities")
.get()
.addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
if (task.isSuccessful()) {
for (QueryDocumentSnapshot document : task.getResult()) {
Log.d(TAG, document.getId() + " => " + document.getData());
}
} else {
Log.d(TAG, "Error getting documents: ", task.getException());
}
}
});
Я не совсем понимаю, как бы вы присвоили какие-либо данные, собранные после этого.
это моя структура данных в коллекции:
есть 8 шкафчиков, каждый серийный номер в 6 раз больше номера шкафчика, то же самое и с ячейками, их 8 в каждом шкафчике

Код: Выделить всё

Lockers   (collection)
--locker1 (document)
----full  (bool field)
----serial number (string field)
----Cells (sub collection)
------cell1 (document in sub collection)
--------active (bool field)
--------cell number (number field)
--------user (string field)
Я заранее создал класс Locker и Cell:

Код: Выделить всё

public class Locker {
private String serialNumber;
private ArrayList cells;
private boolean full;

public Locker(String serialNumber, ArrayList cells, boolean full) {
this.serialNumber = serialNumber;
this.cells = cells;
this.full = full;
}

public Locker(String serialNumber, ArrayList cells) {
this.serialNumber = serialNumber;
this.cells = cells;
this.full = false;
}

public Locker(String serialNumber){
this.serialNumber = serialNumber;
this.cells = new ArrayList(8);
for(int i = 1; i 

Подробнее здесь: [url]https://stackoverflow.com/questions/78415232/how-do-i-get-an-arraylist-of-a-certain-field-from-documents-in-a-firestore-colle[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»