4
我在我的一個Android項目中使用GreenDao。 我試圖在更改完成時實現觀察者/偵聽器。Android - 觀察者數據庫與GreenDao ORM變化
到目前爲止,我創建了一個只是發佈事件(通過EventBus)的靜態函數基本函數(保存,替換和刪除),但這種方法給了我很多頭痛的問題。
目前,我正嘗試使用由於某種原因無法工作的ContentObserver(請參閱附加代碼),但我很樂意聽到其他通用解決方案的建議。
觀察者:
public class DBObserver extends ContentObserver {
public DBObserver() {
super(null);
Logger.e("DBObserver was initialized!");
}
@Override
public void onChange(boolean selfChange) {
super.onChange(selfChange);
Log.d("SOMETHING CHANGED IN DB OBSERVER");
}
@Override
public void onChange(boolean selfChange, Uri uri) {
super.onChange(selfChange, uri);
Log.d("SOMETHING CHANGED IN DB OBSERVER");
}
}
登記觀察員(應用的onCreate實現):
DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, DB_NAME, null);
SQLiteDatabase db = helper.getWritableDatabase();
DaoMaster daoMaster = new DaoMaster(db);
DaoSession daoSession = daoMaster.newSession();
getContentResolver().registerContentObserver(TicketModelContentProvider.CONTENT_URI, true, new DBObserver());
感謝。
究竟是什麼問題,你如何訪問你的數據? – AlexS
我使用GreenDao來超出我的數據,它工作。我的問題是如何讓這個觀察者工作,所以我將能夠聽取數據庫中的更改。 – EladB
你是怎麼得到這個URI的? –