Comment dois-je mettre à jour une valeur déjà existante à l'aide de DB de domaine dans Android?
J'ai essayé de le mettre à jour mais il l'ajoute en tant que nouvelle valeur mais ne l'écrase pas
Une autre façon de mettre à jour un objet existant avec tous ses champs dans votre base de données Realm est d'utiliser la méthode realm.copyToRealmOrUpdate()
:
Object obj = new Object();
obj.setField1(field1);
obj.setField2(field2);
realm.beginTransaction();
realm.copyToRealmOrUpdate(obj);
realm.commitTransaction();
Si votre objet a une clé primaire , cette méthode mettra à jour l'objet automatiquement sans objets en double :)
Plus d'informations: copyToRealmOrUpdate ()
Pour ce faire, vous pouvez utiliser la méthode insertOrUpdate.
Realm.getDefaultInstance().executeTransaction(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
objectToEdit.setNewValue("string");
realm.insertOrUpdate();
}
});