web-dev-qa-db-fra.com

Instruction de mise à jour dans Realm android

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

19
Dinu

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 ()

39
j_gonfer

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();
                }
            });
6
John