我想添加和使用領域,像這樣領域數據未更新的Android使用copyToRealmOrUpdate方法
RealmController realmController = RealmController.with(this).getInstance();
FirstTime firstTime = new FirstTime();
firstTime.setFirstTime(1);
realmController.addFirstTime(firstTime);
Timber.d("firs time %s",realmController.getFirstTime().getFirstTime());
FirstTime firstTime1 = new FirstTime();
firstTime1.setFirstTime(2);
realmController.addFirstTime(firstTime1);
Timber.d("firs time updated %s",realmController.getFirstTime().getFirstTime());
realmController不爲空和realmcontroller.addFirstTime()方法是這樣的
檢索數據public void addFirstTime(FirstTime firstTime){
Timber.d("adding first time %s",firstTime.getFirstTime());
realm.beginTransaction();
realm.copyToRealmOrUpdate(firstTime);
realm.commitTransaction();
}
而且我FirstTime類是這樣
public class FirstTime extends RealmObject{
//0 = firstime; 1 = not firstime
@PrimaryKey
int firstTime;
public int getFirstTime() {
return firstTime;
}
public void setFirstTime(int firstTime) {
this.firstTime = firstTime;
}
}
的getFirstTime()在RealController是這樣
public FirstTime getFirstTime() {
return realm.where(FirstTime.class).findFirst();
}
所以在第一代碼部分,第一木材是給1,這是好的,但在第二木材即
Timber.d("firs time updated %s",realmController.getFirstTime().getFirstTime());
應該給我的更新值是2,但它給了我1,舊值。
你正在使用什麼版本的Realm?這個'RealmController'看起來與使用0.82.1的Ravi Tamada教程非常相似,並且顯示了不好的做法。 – EpicPandaForce
...此外,您沒有更新數據庫中的數據,您正在插入一個新值。 – EpicPandaForce
是的,它來自Ravi Tamada的教程,並沒有copyToRealmOrUpdate更新數據庫? – theanilpaudel