這個問題是大約一年前,但我認爲這是一個普遍的問題。這是我如何處理數據庫更改:
在我的適配器(SQL適配器)我有方法更新/刪除或插入數據到數據庫顯然。像這樣的方法:
public long addProduct(String code, String name ... String gid, String gdate) {
ContentValues initialValues = new ContentValues();
initialValues.put(KEY_CODE, code);
initialValues.put(KEY_NAME, name);
...
initialValues.put(KEY_CHECK, this.checkfalse);
initialValues.put(KEY_GID, gid);
---------
Intent i = new Intent("data_inserted");
i.putExtra("date", date);
sendBroadcast(i);
---------
return mDb.insert(SQLITE_TABLE, null, initialValues);
}
本次變動後發生,它將發送一個廣播意圖。要取得這第一註冊您的廣播接收器在您的onCreate方法(uploaderClass或其他)。這將是這樣的:
registerReceiver(Updated, new IntentFilter("data_inserted"));
而且這種方法來處理以下操作!
private final BroadcastReceiver Updated= new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
doSomething(); // Data was inserted upload it
}
};
編輯:
從數據庫中獲取唯一的新項目,我籤新產品。我有一個可以包含「上傳」,「更新」或「刪除」字符串的「信息」柱。然後我從數據庫中獲取包含這些特殊字符串的所有項目並上傳它們。之後,我將它們設置爲空或空字符串。無論你想要什麼。希望我解釋它沒有複雜的:)自己的數據庫監聽器的
例如 http://stackoverflow.com/a/13292544/1858599 –
可能是這個話題更貼近問的問題是:http:/ /stackoverflow.com/questions/8783963/android-sqlite-db-notifications –