2012-07-14 203 views
8

我正在更新使用SQLITE數據庫的移動設備上的數據庫,應該在服務器更新它的數據庫即wamp服務器時更新該數據庫。
任何人都可以告訴我有關如何實現這一點的任何想法。
我不想讀取整個服務器數據庫,因爲它會在增加數據使用率的同時讀取整個數據庫,僅用於單個更新或多個更新。 更新在產品表中完成,只有價格字段由服務器端更新。當服務器數據庫更新時更新sqlite數據庫

+0

在客戶端和服務器之間同步數據RESTful API是實現它的常用方法。您可以爲請求相同更新的其他用戶緩存更新。無論如何,讀數據庫有什麼問題? – biegleux 2012-07-14 06:58:58

+0

讀取數據庫將創建數據使用情況,如果我能夠讀取單個字段的值,則它將使用比較少的數據使用 – Sumit 2012-07-14 07:01:28

+0

我正在考慮創建一個單獨的表來維護更新詳細信息,並且用戶將只讀取那些更新他的數據庫的詳細信息..你認爲這是一個好的做法? – Sumit 2012-07-14 07:04:07

回答

6

您可以在您的應用程序中定義一個服務,定期詢問您的服務器數據庫中是否有更新的數據。在服務器端,您可以實現一個Web服務,該服務將接收一個json對象,在該對象中將放置當前日期,要檢查更新的表名以及基於您的目的的其他信息。 我會用一個例子更好地解釋我自己: 1)當應用程序啓動後臺服務時也會啓動。此服務將查詢(例如每3分鐘)您的web服務,以查看是否有指定表的新更新。 2)Web服務將收到您想要檢查的表名和日期時間,最好在unix時間戳中。例如,您想在2012-08-20 22:00:00之後查看「產品」表是否有新記錄。您可以在您的應用程序中使用此信息創建json對象和http請求,並將其傳遞給服務器端。 3)你的網絡服務將響應你提供一個json數組,包含所有2012-08-20 22:00:00之後添加或修改的數據。當然,在服務器數據庫中,你必須存儲這些信息(基本上每個記錄都會有一個字段,包含第一次插入/最後一次修改的日期時間)
4)然後你可以更新你的本地sqlite數據庫。

可能這不是很有效,但它的工作原理。

Andrea