Обновить выражение в Realm android
Как мне обновить уже существующее значение, используя realm DB в android?
Я пытаюсь обновить его, но добавляет его как новое значение, но не перезаписывая его
Ответы
Ответ 1
Другой способ обновить существующий объект со всеми его полями в вашей БД Realm использует метод realm.copyToRealmOrUpdate()
:
Object obj = new Object();
obj.setField1(field1);
obj.setField2(field2);
realm.beginTransaction();
realm.copyToRealmOrUpdate(obj);
realm.commitTransaction();
Если ваш объект имеет Основной ключ, этот метод автоматически обновит объект без дублирования объектов:)
Дополнительная информация: copyToRealmOrUpdate()
Ответ 2
Вы можете использовать метод insertOrUpdate для этого. Надеемся, что это поможет
Realm.getDefaultInstance().executeTransaction(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
objectToEdit.setNewValue("string");
realm.insertOrUpdate();
}
});