簡體   English   中英

如何檢測 Android Room SQLite 本地數據庫中的數據庫更改

[英]How to detect database changes in Android Room SQLite local database

我當前的 Android 應用程序使用 Room 來管理其本地 SQLIte 數據庫。

一組特定的相關表(父子表)控制我的應用程序的 rest 中顯示的數據。

當用戶對父表和/或子表進行任何更改時,我需要通過 RESTful API 調用將這些更改推送到我的遠程服務器。

屏幕流程如下:-

Main Menu Activity -> Parent Data Activity -> (Multiple Children Activities)

我只希望在用戶退出父數據活動回到主菜單時推送更改。

我需要檢測父表或任何子表上的任何列何時發生更改。

當用戶剛剛查看數據並且未進行任何更改時,我想忽略

當用戶更改一個值然后將其更改回其原始值時,我也想忽略它。

SQLite 是否有任何內置機制來檢測“真實”表行/列更改?

還是我唯一的解決方案是緩存所有相關表中的前行,並在用戶退出我的父數據活動時將這些行與后行進行比較?

您可以考慮將LiveData與 Room 結合使用。 這至少會給你價值的通知。 允許您編寫有關何時發送到遠程服務器的邏輯。

雖然這並不能解決變化和變化的情況。 https://developer.android.com/topic/libraries/architecture/livedata#use_livedata_with_room

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM