2012-02-27 73 views
0

在我的android應用程序中,我計劃在本地存儲數據以減少互聯網的數據使用並允許離線訪問。我當前的模式包含9列。其中2列用於存儲URL,一個用於140個字符的純文本,1個用於日期時間,2個用於100個字符的純文本,另外3個用於整數。要插入的記錄數量取決於用戶,即他需要多少記錄。他可以隨時刪除它們。多次記錄要插入一次。與刪除相同。 現在我的問題是,這會導致應用程序在插入,刪除和維護方面超負荷?我首先想到了將這些數據存儲在文件系統(xml文件)中,但是刪除記錄可能很困難。所以我應該去SQLite方法或XML文件作爲存儲。其他解決方案也受到歡迎。SQLite模式,數據庫大小,訪問速度,更新疑惑

回答

1

我會推薦SQLite over xml用於你想要做的事情。 SQLite將會更快,更簡單恕我直言。我已經完成了從兩個讀取。從來沒有做過插入和更新。

xml文件將不得不被打開,然後解析以獲取任何數據,關閉:0)你是正確的,刪除​​,更新,插入將是一個XML文件更加困難。

+0

事情是,我使用本地存儲作爲緩存以及從服務器下載的圖像。如果SD卡可用,將使用它,如果沒有使用內部存儲器。沒有限制多少圖像下載和上面的sqlite數據庫插入,因爲它是用戶的選擇。但同時,我不希望我的應用程序不響應或花費太多時間來處理所有這些事情。 – SachinGutte 2012-02-27 19:09:25

+0

不知道你對Android開發有多熟悉,但是我使用AsyncTask來確保這些事情能夠儘可能快地發生並且不會束縛你的UI線程(繼續響應)。另外,您可以在SD卡或內部存儲器中存儲位於數據庫中的圖像和其他文件的位置。 – bytebender 2012-02-27 19:14:19

+0

你也可以考慮使用服務來做一些工作,當設備不使用... – bytebender 2012-02-27 19:15:22

2

是的是的,我絕對會說去SQLite。你所描述的模式實際上是非常適中的,你所描述的使用模式並不重要。

SQLite旨在能夠以高效的方式將相當大量的數據保存在設備的存儲中。這對於將數據存儲在XML中並不是一種特別有效的格式,並且在考慮嘗試獲取單個記錄時速度要慢一個數量級。

我自己編寫的應用程序包含超過15個不同的表格,每個表格> 10列,這是Sqlite輕鬆處理的要求。

+0

感謝您的迴應。我會堅持SQLite。 :D – SachinGutte 2012-02-27 19:25:50

+0

要考慮的好點:0)+1 – bytebender 2012-02-27 19:26:19