2013-02-13 54 views
2

我需要一些建議。在我的應用程序中有登錄表,我需要將登錄數據(從網絡服務器)同步到我的應用程序。每天都有一個新人添加一個賬戶。Android同步 - 數據已存在於表

所以,現在的表看起來像這樣:

登錄表

id name  age 
1  David  23 
2  John  24 
3  Mathew 23 
4  James  25 

比方說,明天一個名叫保羅的新人加入;應用程序連接到Web服務器以檢索數據並將數據存儲在應用程序登錄表中。

如果我找到了一個新人,那麼我怎樣才能在不影響舊記錄的情況下將這個人獨自存儲在桌上?

如果網絡服務器只顯示新增帳戶,那麼這對我來說完全沒有問題,我可以輕鬆存儲新帳戶。相反,網絡服務器也顯示所有的舊記錄。

我是否需要每天刪除登錄表並將所有數據存儲爲新數據?還是有其他一些方法可以將新添加的數據同步到我的表格中?

回答

0

那麼,你可以隨時編寫自己的方法,確定用戶是否已經在你的本地數據庫中。

所有你需要做的是Web服務器的結果存儲在某種數組(即:ArrayList中),在另一個數組從你讀了現有用戶的本地數據庫,並檢查是否有差異。如果有區別,你可以簡單地將新用戶插入你的數據庫。

或者如果您不想處理這個問題,那麼只需清空表格並將其全部結果插入到表格中即可。

+0

會有成千上萬的記錄,這樣陣列檢查並清空表將採取更多time..Is有任何-其他辦法... – user2065795 2013-02-13 09:15:25

+0

你爲什麼不保存登記日期在遠程數據庫以及在你的本地數據庫?這樣你可以編寫一個查詢來檢查最後添加的用戶的註冊表。在你的本地數據庫中添加日期,然後編寫一個查詢,該查詢僅顯示那些用戶 - 從遠程數據庫 - 在特定日期之後添加的用戶。 – Rockbag 2013-02-13 09:25:25