2011-09-30 83 views
0

我在尋找最大的Android SharedPreferences鍵值對,但找不到任何好的答案。其次,我想問一下,如果我有一個關鍵字是什麼字符串值的限制。可以放入多少個角色。如果我需要經常選擇值更改,我應該使用SQLite還是SharedPreferences。 請參考我一些很好的資源。Android SharedPreferences限制

此致,

回答

3

所有共享首選項存儲在/數據/數據/ [包名]/shared_prefs/[應用名稱] .XML,所以,我認爲沒有基於aechitecture限制。

我不知道實際的限制,但我認爲這是足以讓你..

檢查Shared Preference,供大家參考。

should I use SQLite or SharedPreferences. 

這是更好的,如果你需要存儲將定期更改值使用的SQLite 。 也可以存儲更多的數據量..

+0

我有使用SQLite這是「init光標窗口」的問題,我已經應用了所有可能的解決方案,但無法解決它。 –

+0

@AndroidGeek SQLite您可以參考http://developer.android.com/resources/tutorials/notepad/index.html以使用SQLite。它會爲您提供更多關於SQLite的信息。 – Venky

0

SharedPreferences用於快速存儲像單個字符串,設置,標誌等值。SQLite數據庫可以做同樣的但有點重的責任,認爲存儲表諸如具有多個屬性的客戶數據以及能夠搜索(SQL中的查詢)的信息。

所以答案是,「這取決於」你想存儲什麼「東西」?如果是用戶設置,那麼SharedPreferences是快速而簡單的。如果它是一組記錄,那麼SQLite數據庫可能更有意義。

0

至於密鑰大小的限制:我相信它只是一個字符串的最大大小。此處回答如下:Shared Preferences - max length of a single value

最大鍵/值對限制:usingShared首選項這些值存儲在.xml文件中,如上面的答案中所述,並且您可以具有多個.xml sharePreference文件。我想這個大小限制受限於您的應用程序的大小或設備上使用您的應用程序可用的存儲空間。

如果您的偏好值經常變化,我會考慮使用局部變量來跟蹤當前的偏好設置,也許是一個全球性的單身人士課程。並在應用程序銷燬/關閉之前將更改保存到磁盤。如果您不喜歡這個想法,那麼請嘗試使用SharedPreferences,但一定要使用SharedPreferences.Editor.apply()而不是SharedPreferences.Editor.commit()來保存首選項(異步應用保存到磁盤,同時提交保存)。