如何保存应用设置?

时间:2013-10-14 05:00:06

标签: android sharedpreferences

如何保存应用的设置?现在,例如,我有一个togglebutton打开/关闭。但是,如果我重新启动手机,则会重新打开切换按钮。如果我完全关闭应用程序,它不会保存设置。我可以将设置保存为手机作为Cookie吗?

6 个答案:

答案 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
}

注意:您可以使用booleaninteger等执行此操作。

您所要做的就是将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以获取分步指南。