Обновление в Realm android

17

Как мне обновить уже существующее значение, используя realm DB в android?

Я пытаюсь обновить его, но добавляет его как новое значение, но не перезаписывая его

    
задан Dinu 01.12.2014 в 08:35
источник

2 ответа

33

Другой способ обновить существующий объект со всеми его полями в вашей Realm DB - это использовать метод realm.copyToRealmOrUpdate() :

Object obj = new Object();
obj.setField1(field1);
obj.setField2(field2);
realm.beginTransaction();
realm.copyToRealmOrUpdate(obj);
realm.commitTransaction();

Если ваш объект имеет Основной ключ , этот метод автоматически обновит объект без дублирования объектов:)

Дополнительная информация: copyToRealmOrUpdate ()     

ответ дан j_gonfer 26.05.2015 в 11:16
источник
6

Вы можете использовать метод insertOrUpdate для этого. Надеемся, что это поможет

  Realm.getDefaultInstance().executeTransaction(new Realm.Transaction() {
                @Override
                public void execute(Realm realm) {

                    objectToEdit.setNewValue("string");
                    realm.insertOrUpdate();
                }
            });
    
ответ дан John 09.02.2017 в 13:04
источник