Come devo aggiornare un valore già esistente utilizzando DB realm in Android?Istruzione di aggiornamento in Realm android
Ho cercato di aggiornarlo, ma è l'aggiunta di un nuovo valore solo non overwritting si
Come devo aggiornare un valore già esistente utilizzando DB realm in Android?Istruzione di aggiornamento in Realm android
Ho cercato di aggiornarlo, ma è l'aggiunta di un nuovo valore solo non overwritting si
Un altro modo per aggiornare un oggetto esistente con tutti i suoi campi nel Reame DB sta usando il metodo realm.copyToRealmOrUpdate()
:
Object obj = new Object();
obj.setField1(field1);
obj.setField2(field2);
realm.beginTransaction();
realm.copyToRealmOrUpdate(obj);
realm.commitTransaction();
Se l'oggetto ha un chiave primaria, questo metodo aggiornerà l'oggetto automaticamente senza oggetti duplicati :)
Maggiori informazioni: copyToRealmOrUpdate()
In realtà non si ottiene alcun vantaggio dall'iniziare la transazione prima di aver creato l'oggetto. Quindi suggerirei di spostare quella prima riga in basso prima di copyToRealmOrUpdate() per renderlo chiaro. – bmunk
Grazie per il consiglio, post modificato :) –
Questa risposta è obsoleta? 'realm.copyToRealmOrUpdate (obj);' non è necessario se stai lavorando con realm. Sarebbe necessario solo se si utilizza Retrofit ad esempio: https://realm.io/docs/java/latest/#retrofit – Micro
È possibile metodo utente insertOrUpdate fare this.Hope questo contribuisce
Realm.getDefaultInstance().executeTransaction(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
objectToEdit.setNewValue("string");
realm.insertOrUpdate();
}
});
Vi preghiamo di mostrare i vostri sforzi (la parte rilevante del codice, in cui si sta cercando di aggiornare). Solo allora possiamo dirti dov'è il problema. – DroidDev
** vedere la risposta completa con l'esempio http://stackoverflow.com/questions/30933229/update-realm-object-android** –