2013-06-20 78 views
3

我想在Android中做一個基本的應用程序來讓我的腳溼潤。我有一個休息api和在線DB存在連接時處理基本CRUD。Android:當數據存儲在在線數據庫時在離線時存儲數據的最佳做法

但是,我使用的大多數任務應用程序都允許在沒有連接存在時創建任務。

什麼是這樣的東西的最佳做法?

應用程序通常在本地存儲用戶的所有數據的副本,以便在連接不存在時可以訪問它嗎?

它看起來像我使用(阿斯特麗德任務)的應用程序有沒有問題訪問我所有的任務/歷史,無論連接的

如果是這樣的情況下,此同步,如何處理儘可能的遠程數據的主鍵是關心?

回答

0

一個解決方案是在您的應用程序中有一個本地數據庫。當沒有互聯網連接存儲數據庫中的數據時。

現在讓您的應用程序監聽網絡更改。當設備連接到網絡時,您可以將緩存的數據從本地數據庫上傳到服務器,無需用戶交互。

1

你有一些編碼,比方說每個數據變更的一個請求被執行原子編碼爲xml或json。創建一個基類,它是連接的父類,並使用它將數據更新發送到遠程數據庫。如果連接不存在,則將整個命令存儲到文件或sqlite中。您可以根據文件大小,日期等創建多個文件(如果採取文件方式)。創建一些規則如何選擇最舊的記錄 - 如果您需要以有序方式更新數據庫。