2011-04-12 43 views
4

我想存儲結構類型數據(即通話記錄的信息,如姓名,號碼,號碼類型,日期,時間,持續時間)。哪種方法最好,哪個更快? SQLiteDatabase(使表和插入,刪除日誌)或使用文件存儲(意味着爲所有參數創建一個類並使用輸入/輸出流和可序列化將它們的對象寫入文件),或者我聽說的另一種方式是XML解析器,但我不知道這一點。SQLiteDatabase vs文件存儲

請幫幫我。提前致謝。

回答

0

就個人而言,如果您知道數據庫的基礎知識,我會使用sqlite數據庫。這在Android中非常簡單。就速度而言,我不知道哪個速度更快,但如果您沒有數百萬個數據集,則無關緊要。

3

這取決於你正在嘗試做什麼。

如果你的目標是速度,SQLite會給你一筆錢(尤其是如果你把多個插入到事務中)。 SQLite已經針對你所提到的所有內容進行了優化,並且可以很容易地利用它可以提供給你的速度。

如果可移植性是您的目標,那麼文件可能會輕鬆一點。文件可以很容易地來回移動,而SQLite可能需要更多的努力。

如果能夠搜索是您的目標,那麼您將不會使用SQLite,因爲它非常擅長搜索和過濾結果。

+0

謝謝。但給我你的建議。目前我的目標是隻存儲20個未接來電,已接電話的日誌。那你更喜歡哪個?如果它是SQLite那麼請給出一些理由爲什麼文件操作不是首選? – Dep 2011-04-12 17:52:08

+1

@Dep ...夥計 - 我無法爲你做出決定。我可以告訴你兩者的起伏,但是你必須決定你想要寫什麼。找出你需要做的,並選擇最好的方法。這兩種方法都可以工作,所以找出哪一個更容易*你*。 – riwalk 2011-04-12 17:59:39

0

根據我的經驗,在大多數情況下,文件中的JSON就足夠了(大多數情況下,您需要存儲數組或對象或只是單個數字或字符串)。我很少需要SQLite(需要更多時間來設置和使用它)。