Я получаю данные из FireStore на карту, мои данные в Firestore выглядят так:
(Auto-Document ID)
title="title1"
body="body1"
(Auto-Document ID)
title="title2"
body="body2"
Когда я загружаю их в карту, они будут выглядеть так:
loadNoteCallBack: {rsmw3EkfIjUQxrzRiyy7 = {body = body2, title = title2}, sTEfYCcPK9lw77xWS8H5 = {body = body1, title = title1}}
* wyx iyiy S 3 3 3 3 33Автоматически сгенерированные идентификаторы документов
Теперь моя проблема в том, что я хочу извлечь из них заголовки , и я точно не знаю, как.
Я пробовал это:
List<String> keys = new ArrayList<>();
for (String key : data.keySet()) {
keys.add(key);
}
Но я получил идентификаторы документов таким образом.
заголовков: [rsmw3EkfIjUQxrzRiyy7, sTEfYCcPK9lw77xWS8H5]
Как получить заголовки?
update
Я думаю, что сделал это.Это хорошее решение для этой проблемы?
public static void loadNote() {
db.collection("Datas")
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
Map<String, Object> data = new HashMap<>();
List<String> titles = new ArrayList<>();
for (QueryDocumentSnapshot document : task.getResult()) {
titles.add(document.getString("title"));
data.put(document.getId(),document.getData());
}
defaultEntitys.loadNoteCb(data,titles);
} else {
Log.d(TAG, "Error getting documents: ", task.getException());
}
}
});