我實現了一個Web平臺和一個Android應用程序,用戶在這裏有一個配置文件,他們可以保存一些數據,圖像等,並且系統必須保持同步。到目前爲止,我簡單地使用GCM來通知Android設備何時用戶在網絡平臺上添加數據,以及當用戶在Android設備上添加數據時簡單HTTP Requests
。它運行良好。從服務器和Android設備同步數據
現在需求已改變。 Android應用程序現在應該也提供一個離線模式。用戶應該能夠在離線狀態下更改Android設備上的數據。稍後當設備再次聯機時,數據應該同步。因此,現在我無法再使用GCM
和簡單HTTP Requests
,因爲當設備處於脫機狀態時,用戶可以在設備上和網絡平臺上更改數據。所以我需要一個解決方案來同步數據。
我的第一個建議是使用一個能夠自動同步的數據庫,例如Pouch DB。如果沒有這樣的數據庫爲Android工作,我需要一些非常複雜的合併機制。對於像個人資料信息這樣的靜態數據,這不成問題。一個簡單的時間戳可以做到這一點。但對於像值列表這樣的動態數據來說,它更復雜。
有人有這種功能的經驗,尤其是數據庫的自動同步嗎?有關如何做的建議?