AndroidのレルムDBを使用して既存の値を更新するにはどうすればよいですか?
私はそれを更新しようとしましたが、それを上書きしないだけで新しい値として追加しています
Realm DB内のすべてのフィールドで既存のオブジェクトを更新する別の方法は、メソッドrealm.copyToRealmOrUpdate()
を使用することです。
Object obj = new Object();
obj.setField1(field1);
obj.setField2(field2);
realm.beginTransaction();
realm.copyToRealmOrUpdate(obj);
realm.commitTransaction();
オブジェクトにPrimary Keyがある場合、このメソッドはオブジェクトを複製せずにオブジェクトを自動的に更新します:)
InsertOrUpdateメソッドを使用してこれを行うことができます。
Realm.getDefaultInstance().executeTransaction(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
objectToEdit.setNewValue("string");
realm.insertOrUpdate();
}
});