我正在使用Preference-API .. 通常,当我需要检索Preference的值时,我目前执行以下操作:
final SharedPreferences getPrefs =
PreferenceManager.getDefaultSharedPreferences(getActivity());
boolean isThisPrefEnabled = getPrefs.getBoolean(REFERENCE_TO_PREF_NAME, false);
// OR
String theChosenPref = getPrefs.getString(PREF_NAME, DEFAULT_VALUE);
但我很好奇,我不能这样做吗?如果是这样,有什么区别?
Preference nameOfPref = findPreference(PREFERENCE_KEY);
boolean isPrefEnabled = nameOfPref.isEnabled();
// OR
String thePrefValue = nameOfPref.toString();
它看起来效率更高,但第一个例子似乎就是使用它。为什么是这样? 谢谢。
SharedPreferences是一个特定于android的界面documentation
android.content.SharedPreferences:是一个键/值存储,您可以在其中保存某些键下的数据。要从商店读取数据,您必须知道数据的密钥。这使得读取数据非常容易。但是,尽管存储和读取大量结构化数据很困难,因为您需要为每个数据定义键,但是除了您有一定的概念之外,您无法在数据中进行实际搜索。命名键。
首选项是核心java类documentation
java.util.prefs.Preferences:此类允许应用程序存储和检索用户和系统首选项和配置数据。此数据持久存储在依赖于实现的后备存储中。