2014-05-12 44 views
-1

我有一個android項目,我需要保存少量的數據。可以是每個1-20個條目的3個表格,也可以是2個內嵌嵌套字典的詞典(不僅是主要數據類型),還是其他類似的東西。這些只是服務器的用戶首選項和登錄名。在android上保存小數據的最佳方法

我已經閱讀了關於存儲數據的選項,但我不知道哪一個最適合我的情況。我想使用共享偏好設置,但我不太確定我可以在那裏存儲我的嵌套信息。它工作嗎?有更好的解決方案嗎?

我的數據(例如):

  • Server登錄:某些鍵,包括數據的關鍵。數據包含URL,用戶,密碼等。
  • 收藏夾:這些項目的不同信息,包括服務器密鑰/數據。

數據很少會更新,所以我也可以冗餘地存儲一些信息,以避免連接表或從多個文件中讀取數據。這些數據必須在會話中保留並安全存儲,不可用於任何其他應用程序...

+1

我猜db是你最好的選擇。 –

+0

不需要更多時間閱讀它嗎? – Antiohia

+1

有表格格式的數據,所以我建議數據庫是最好的選擇。 –

回答

1

我會建議使用sqlite數據庫。這個存儲空間在整個被殺的進程中都是存在的,並且只能從你的應用程序私人訪問。看看here for a first introduction

SharedPreferences是desigend存儲原始數據類型,所以你不能輕鬆存儲嵌套字典。

Cite from the docs:

的SharedPreferences類提供了一個通用框架,允許 您保存和檢索的基本數據類型 持續鍵值對。您可以使用SharedPreferences保存任何原始數據: 布爾值,浮點數,整數,長整數和字符串。這些數據將在整個用戶會話中持續 (即使您的應用程序被終止)。

+0

我可以通過創建多個表/字典來避免嵌套字典。但是,在這種情況下,每次我需要閱讀至少兩本字典時,我必須閱讀它。與表格一樣,我總是需要一個連接。哪一種情況的開銷較小(對於應用程序而言,不適用於開發)?如果我使用數據庫,那麼我想,我不能使用偏好活動,對嗎? – Antiohia

+1

@Antiohia它不是如果你使用數據庫,那麼你不能使用sharedpreference。您可以使用共享首選項來存儲臨時存儲的密鑰值配對數據。 – GrIsHu

+0

我真的不認爲我需要同時使用這兩套數據。我只是試圖找出哪一個更好,我需要存儲的數據。 – Antiohia

相關問題