SharedPreferences getStringSet 方法不可用
SharedPreferences getStringSet method not available
非常奇怪的问题 - 我正在使用最新版本的 Android Development。这是我的代码:
public static final String MY_PREFS_NAME = "MyPrefsFile";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();
Set<String> savedCityFare = editor.getStringSet(whatever);
有趣的是 none 的 getter 方法可供编辑器使用。我做错了什么?
Funny part is none of the getter methods are available for editor
getter 方法在 SharedPreferences
上。只有 setter 方法在 SharedPreferences.Editor
上。将 SharedPreferences.Editor
视为构建器样式 class,用于创建和执行 "transaction" 以更新共享首选项。
如果您查看 http://developer.android.com/reference/android/content/SharedPreferences.Editor.html 上的文档,您会发现 SharedPreferences.Editor class 仅定义了 putX() 方法。如果您想使用吸气剂,则不需要编辑器,而只需要一个 SharedPreferences 对象。
SharedPreferences preferences = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE);
Set<String> savedCityFare = preferences.getStringSet(whatever);
我还建议使用 PreferenceManager.getDefaultSharedPreferences() 来获取 SharedPreferences 对象。
只是编辑
要在 SharedPreferences 中添加值:
PreferenceManager.getDefaultSharedPreferences(YOUR_CONTEXT).edit().putXXX(YOURKEY,YOURVALUE).commit();
//这将直接在您的 SharedPreferences 中保存值。
当您想从您的首选项中获取值时:
PreferenceManager.getDefaultSharedPreferences(YOUR_CONTEXT).getXXX(YOUR_KEY);
//这将返回给你存储的值。
当您想在整个应用程序中维护 SharedPreferences 的单个实例时,使用默认首选项。
非常奇怪的问题 - 我正在使用最新版本的 Android Development。这是我的代码:
public static final String MY_PREFS_NAME = "MyPrefsFile";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();
Set<String> savedCityFare = editor.getStringSet(whatever);
有趣的是 none 的 getter 方法可供编辑器使用。我做错了什么?
Funny part is none of the getter methods are available for editor
getter 方法在 SharedPreferences
上。只有 setter 方法在 SharedPreferences.Editor
上。将 SharedPreferences.Editor
视为构建器样式 class,用于创建和执行 "transaction" 以更新共享首选项。
如果您查看 http://developer.android.com/reference/android/content/SharedPreferences.Editor.html 上的文档,您会发现 SharedPreferences.Editor class 仅定义了 putX() 方法。如果您想使用吸气剂,则不需要编辑器,而只需要一个 SharedPreferences 对象。
SharedPreferences preferences = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE);
Set<String> savedCityFare = preferences.getStringSet(whatever);
我还建议使用 PreferenceManager.getDefaultSharedPreferences() 来获取 SharedPreferences 对象。
只是编辑
要在 SharedPreferences 中添加值:
PreferenceManager.getDefaultSharedPreferences(YOUR_CONTEXT).edit().putXXX(YOURKEY,YOURVALUE).commit();
//这将直接在您的 SharedPreferences 中保存值。
当您想从您的首选项中获取值时:
PreferenceManager.getDefaultSharedPreferences(YOUR_CONTEXT).getXXX(YOUR_KEY);
//这将返回给你存储的值。
当您想在整个应用程序中维护 SharedPreferences 的单个实例时,使用默认首选项。