#firebase #android-studio #google-cloud-firestore #google-cloud-functions
#firebase #android-studio #google-облако-firestore #google-cloud-функции
Вопрос:
Ранее я использовал базу данных firebase в реальном времени, в которой я просто сохранял список объектов в базе данных. Как сохранить arraylist объектов класса модели в базе данных firestore?
Ответ №1:
Создайте объекты класса модели один за другим и добавьте в ArrayList, как показано ниже:
City city1 = new City("Los Angeles", "CA", "USA",
false, 5000000L, Arrays.asList("west_coast", "sorcal"));
City city2 = new City("Los Angeles", "CA", "USA",
false, 5000000L, Arrays.asList("west_coast", "sorcal"));
City city3 = new City("Los Angeles", "CA", "USA",
false, 5000000L, Arrays.asList("west_coast", "sorcal"));
ArrayList<City> list = new ArrayList<City>();
list.add(city1);
list.add(city2);
list.add(city3);
db.collection("cities").document("LA").set(list)
.addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
Log.d(TAG, "DocumentSnapshot successfully written!");
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.w(TAG, "Error writing document", e);
}
});
Или вы также можете попробовать следующий метод
City city1 = new City("Los Angeles", "CA", "USA",
false, 5000000L, Arrays.asList("west_coast", "sorcal"));
City city2 = new City("Los Angeles", "CA", "USA",
false, 5000000L, Arrays.asList("west_coast", "sorcal"));
City city3 = new City("Los Angeles", "CA", "USA",
false, 5000000L, Arrays.asList("west_coast", "sorcal"));
ArrayList<City> list = new ArrayList<City>();
list.add(city1);
list.add(city2);
list.add(city3);
Map<String, Object> docData = new HashMap<>();
docData.put("modalExample", list);
db.collection("data").document("one")
.set(docData)
.addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
Log.d(TAG, "DocumentSnapshot successfully written!");
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.w(TAG, "Error writing document", e);
}
});