如何使用androids首选项在非默认文件中写入和读取首选项。
以下代码正在运行,但已弃用:
public class MyPreferencesActivity extends PreferenceActivity
{
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
PreferenceManager prefMgr = getPreferenceManager();
prefMgr.setSharedPreferencesName("my_preferences");
prefMgr.setSharedPreferencesMode(MODE_WORLD_READABLE);
addPreferencesFromResource(R.xml.preferences);
}
}
此外,我需要将自定义首选项文件绑定到我的Activitiy / Fragment,以便用户对首选项的任何更改都会自动保存到自定义文件中。
背景如下:我正在编写一个小部件,该小部件的每个实例都需要自己的首选项。所以我需要分别保存和加载每个小部件的首选项。
如果不使用已弃用的代码,我没有找到任何解决方案。我们非常欢迎任何帮助:)。
答案 0 :(得分:2)
简单:
SharedPreferences prefs = context.getSharedPrefernces("fileName", 0);
答案 1 :(得分:0)
要自行读写设置,您可以使用以下代码:
// Get preferences
SharedPreferences sharedPreferences = PreferenceManager.setSharedPreferencesName("SomeFilename",0);
PreferenceManager.setSharedPreferencesMode(MODE_WORLD_READABLE);
// Read some values
String name = sharedPreferences.getString("Key", "defaultValue");
[...]
//Write preferences
SharedPreferences sharedPreferences = PreferenceManager.getSharedPreferencesName("SomeFilename", 0);
// Write some values
Editor editor = sharedPreferences.edit();
editor.putString("key", "someValue");
[...]
editor.commit();
可以找到文档here。