Android - 如何在代码中设置首选项

时间:2009-02-16 02:26:21

标签: android

我有一个Android应用程序,我在xml文件中有我的首选项,工作正常。我现在想要使用代码设置一个首选项而不是显示整个首选项屏幕,我将如何进行此操作?

3 个答案:

答案 0 :(得分:121)

我认为,根据偏好设置,您指的是应用程序的首选项,而不是Android手机设置。

要在您的应用程序运行之间存储首选项,您需要执行以下操作

  1. 创建SharedPreferences对象

    SharedPreferences settings = getSharedPreferences(String n, MODE_PRIVATE);
    

    字符串n标识您的首选项,第二个参数是他们将被访问的模式

  2. 实例化编辑器对象

    SharedPreferences.Editor editor = settings.edit();
    

    注意:不要尝试settings.editor.edit(),这不会成为持久对象,下面的代码将无法正常工作

  3. 将您的偏好写入缓冲区

    editor.put...(String, value)
    

    有很多put函数,putString,putBoolean等。字符串是键(“版本”,“运行良好”),值是值(“1.5.2”,true)

  4. 冲洗缓冲区

    editor.commit();
    

    这实际上是你写入首选项。如果您的应用程序在此行之前崩溃,则不会写入首选项。还有一个记录在案的错误:commit()应该返回一个表示成功或失败的布尔值。最后我检查了它总是返回false。

  5. 这些首选项将存储在手机上,只有您的应用程序才能访问。

    更多文档是here

答案 1 :(得分:8)

我尝试了这个但是没有用:

SharedPreferences settings = getSharedPreferences(String n, MODE_PRIVATE);

请改为尝试:

SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);

答案 2 :(得分:2)

您可以使用以下代码

在共享偏好中保存某些内容
map::iterator

阅读偏好:

map::end()