2015-08-09 41 views
-1

我實現了一個Web平臺和一個Android應用程序,用戶在這裏有一個配置文件,他們可以保存一些數據,圖像等,並且系統必須保持同步。到目前爲止,我簡單地使用GCM來通知Android設備何時用戶在網絡平臺上添加數據,以及當用戶在Android設備上添加數據時簡單HTTP Requests。它運行良好。從服務器和Android設備同步數據

現在需求已改變。 Android應用程序現在應該也提供一個離線模式。用戶應該能夠在離線狀態下更改Android設備上的數據。稍後當設備再次聯機時,數據應該同步。因此,現在我無法再使用GCM和簡單HTTP Requests,因爲當設備處於脫機狀態時,用戶可以在設備上和網絡平臺上更改數據。所以我需要一個解決方案來同步數據。

我的第一個建議是使用一個能夠自動同步的數據庫,例如Pouch DB。如果沒有這樣的數據庫爲Android工作,我需要一些非常複雜的合併機制。對於像個人資料信息這樣的靜態數據,這不成問題。一個簡單的時間戳可以做到這一點。但對於像值列表這樣的動態數據來說,它更復雜。

有人有這種功能的經驗,尤其是數據庫的自動同步嗎?有關如何做的建議?

回答

1

你可以使用SQLlite。
檢查應用程序現在是否連接到互聯網。如果爲true,請檢查用戶是否已脫機更改數據(可以使用SharedPreferences來存儲布爾型標誌)。
如果標誌爲true,則訪問SQl​​lite中已更改的數據併發布到服務器。
如果設備處於脫機狀態,您可以使用服務檢查後臺。

你的數據庫BTW有多複雜?
對不起,我目前無法評論你的問題。

相關問題