0
叫我嘗試使用executeTransaction
功能更新Realm
記錄,但是當我打電話這段代碼從IntentService
的Ream.Transaction.Callback
onSuccess
是沒有得到自動調用copyToRealmOrUpdate
後調用。的onSuccess是沒有得到來自IntentService
final Realm realm = getRealm() ;
realm.executeTransaction(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
//some db operations and eventually calling
realm.
realm.copyToRealmOrUpdate(employeeList);
}
}, new Realm.Transaction.Callback() {
@Override
public void onSuccess() {
// this function never gets called if
//the whole function is called from IntentService
realm.close();
}
@Override
public void onError(Exception e) {
realm.close();
}
});
private RealmConfiguration initalizeRealmConfig(){
if(realmConfiguration == null)
return realmConfiguration = new RealmConfiguration.Builder(mContext)
.name(DB_NAME)
.schemaVersion(DB_VERSION)
.build();
else return realmConfiguration;
}
public Realm getRealm(){
return Realm.getInstance(initalizeRealmConfig());
}
我使用IntentService
後臺數據庫操作和互聯網服務的時候我調用上面的代碼從活動onSuccess
被調用,但我真的不想從活動稱之爲按規定要求。
所以你的意思是我不需要從'IntentService'打電話了嗎? – Hunt
你這樣做,但你不需要IntentService內部的異步事務。您可以選擇使用異步事務而不使用IntentService。 –
有什麼方法可以使用IntentService和異步事務 – Hunt