ist das, was man tun könnte - angesichts Realm liest keine Kopien machen, das heißt, es ist nicht teuer und wird nicht Ihren UI-Thread beeinflusst viel, nachdem Ihren Einzelteil zu speichern, können Sie findAllSorted("createdAt)
oder findAllSorted("id")
, dann letzten id finden mit last()
Methode wie folgt:
//after commitTransaction,
RealmResults<Transactions> allTransactions = realm.where(Transactions.class).findAllSorted("createdAt");
//If you have an incrementing id column, do this
long lastInsertedId = allTransactions.last().getId();
Dies sollte Ihnen die letzte eingefügte ID des gegebenen Modells geben.
Es ist auch wichtig zu erwähnen, dass, damit dies funktioniert, Sie eine Spalte in Ihrem Modell haben müssen, wie diese mit id;
public class Transactions extends RealmObject{
@PrimaryKey @Index
private long id;
//getters and setters accordingly!
}
Ich hoffe, das hilft! Viel Glück und gute Programmierung!
UPDATE
Ich habe erkannt, dass realm.copyToRealm(obj)
ein Objekt zurückgibt!
Das heißt, Sie dies einfach tun können:
realm.beginTransaction();
Transactions transaction = realm.copyToRealm(newTransaction);
long id = transaction.getId();
realm.commitTransaction();
Bitte versuchen Sie dies und lassen Sie es mich wissen!
Ich habe auf die harte Tour gelernt, dass das Ausblenden von ganzen Zahlen in Strings eine schreckliche Idee ist !! Verwenden Sie Longs – Eenvincible