I'm using GreenDao in one of my android projects. I'm trying to implement an observer/listener for when changes are done.
So far I created a static-functions basic functions (save, replace and delete) that just post an event (via EventBus), but this approach has been giving me a-lot of headaches.
Currently, I'm trying to use ContentObserver which for some reason does not work (see attached code), but I'd love you hear suggestions for other generic solutions.
observer:
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");
}
}
registration for observer (implemented on Application 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());
Thanks.