Я написал некоторый код для чтения коллекций и записи в logcat, но я хочу прочитать их отдельно и добавить в строку, чтобы использовать их позже. У меня есть такие атрибуты, как имя, cityLONG, cityLAT, кампанияStartDate, кампанияEndDate в коллекциях.
Logcat : 8sAtwKcm273R1io1Blre => {name=TEST_LOC, cityLONG=29.3054092, cityLAT=40.9301514, campaignStartDate=2019-04-30, campaignEndDate=2019-10-30}
public void readFirestore() {
FirebaseFirestore db = FirebaseFirestore.getInstance();
db.collection("campaigns")
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> 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());
}
}
});
}
Сэр, я добавил все.
Какие точные данные вы хотите получить?
Я добавил скриншот, я хочу получить «имя, cityLONG, cityLAT, кампаниюStartDate, кампаниюEndDate» все это отдельно.
Вы пробовали ответ jackz314?




Вы можете использовать getString() в документе, чтобы получить определенные строковые поля, или использовать get() для других типов и преобразовать их самостоятельно.
Ваш код будет выглядеть так:
FirebaseFirestore db = FirebaseFirestore.getInstance();
db.collection("campaigns")
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful() && task.getResult() != null) {
for (QueryDocumentSnapshot document : task.getResult()) {
Log.d(TAG, document.getId() + " => " + document.getData());
String cityLONG = document.getString("cityLONG");
//and so on
}
} else {
Log.d(TAG, "Error getting documents: ", task.getException());
}
}
});
Рад, что смог помочь
Пожалуйста, добавьте структуру вашей базы данных в виде скриншота и укажите точные данные, которые вы хотите получить.