如何保存应用的设置?现在,例如,我有一个togglebutton打开/关闭。但是,如果我重新启动手机,则会重新打开切换按钮。如果我完全关闭应用程序,它不会保存设置。我可以将设置保存为手机作为Cookie吗?
答案 0 :(得分:7)
使用共享偏好设置。像这样:
将它放在班级的顶部:public static final String myPref = "preferenceName";
创建这些方法以供使用,或者只是在需要时使用方法内部的内容:
public String getPreferenceValue()
{
SharedPreferences sp = getSharedPreferences(myPref,0);
String str = sp.getString("myStore","TheDefaultValueIfNoValueFoundOfThisKey");
return str;
}
public void writeToPreference(String thePreference)
{
SharedPreferences.Editor editor = getSharedPreferences(myPref,0).edit();
editor.putString("myStore", thePreference);
editor.commit();
}
您可以这样称呼它们:
writeToPreference("on"); // stores that the preference is "on"
writeToPreference("off"); // stores that the preference is "off"
if (getPreferenceValue().equals("on"))
{
// turn the toggle button on
}
else if (getPreferenceValue().equals("off"))
{
// turn the toggle button off
}
else if (getPreferenceValue().equals("TheDefaultValueIfNoValueFoundOfThisKey"))
{
// a preference has not been created
}
注意:您可以使用boolean
,integer
等执行此操作。
您所要做的就是将String
存储和阅读更改为boolean
,或者您想要的任何类型。
以下是指向牧师的链接,上面的代码已修改为存储boolean
代替:http://pastie.org/8400737
答案 1 :(得分:1)
使用SharedPreferences
,
保存:
SharedPreferences settings;
SharedPreferences.Editor editor;
public static final String PREFS_NAME = "app_pref";
public static final String KEY_p_id = "KEY_test";
settings = getSharedPreferences(PREFS_NAME, 0);
editor = settings.edit();
editor.putString(Login_screen.KEY_test, values.get(0));
editor.commit();
删除:
editor.remove("KEY_test").commit();
答案 2 :(得分:0)
您可以将SQlite等本地数据库用于您的应用。
答案 3 :(得分:0)
您应该查看SharedPreferences。这是Android持久化简单价值观的方式。或者您可以创建一个完整的数据库。
答案 4 :(得分:0)
您需要使用 SharedPreferences 在本地保存应用的设置。有关详细信息,请参阅此链接:http://developer.android.com/reference/android/content/SharedPreferences.html
答案 5 :(得分:0)
使用SharedPreferences保存一小部分应用数据。 请检查developer's website。
另请查看此Tutorial以获取分步指南。