簡體   English   中英

Android-大型SQLite數據庫的在線離線同步

[英]Android - online offline synchronization of large SQLite database

我正在開發一個Android應用程序以收集商店(雜貨店)信息。 該應用程序具有用於創建商店,設置其屬性(例如地址,經度,營業時間,經理詳細信息,創建照片等)的模塊。創建商店后,用戶需要通過單擊照片並提供其詳細信息列出該商店的資產。 。

為了存儲所有這些詳細信息,我大約有15個SQLite表。

現在,我想實現“同步”功能,所有捕獲的詳細信息都需要在連接可用時發送到服務器,否則詳細信息應存儲在本地,並且只要連接可用就應移至服務器。

另外,請注意,隨着應用程序的增長,表的數量最多可能增加40個。

我在Google上搜索了有關此問題的解決方案/方法,但在大多數文章或示例中,他們提到的是針對具有小數據的小型應用程序。

我還為小型數據表(2個表)實現了同步功能,在該表中,我檢查了服務器和本地上的上次更新時間戳,如果不一致,則將數據同步。 我不是,我應該對如此大規模和大型數據庫使用這種方法。

我有一種不依賴於表數量的方法。 我打算有一個表存儲以下數據

id URL請求標頭請求主體

現在,假設發送請求時連接不可用,所以它將存儲在表中。 只要有可用的連接,它就會開始讀取表並執行請求,一旦成功,它將從表中刪除該條目。 通過這種方法,我們在SQLite中只需要一個表。

這種方法的問題是,當我們要脫機檢索數據時,我們該怎么做? 我們是否需要具有與服務器相同的本地數據庫架構?

請指導。

謝謝

如果您正在與服務器同步數據並且要刪除本地存儲數據(據我所知這是不正確的),則在這種情況下,您的應用程序將無法離線運行。因此,當您當時將數據同步到服務器時,請保留一些標志哪些數據已同步。然后下次僅檢查標志狀態是否已同步,然后不同步數據,否則進行同步。 我希望這能解決您的問題。

暫無
暫無

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

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