我有一个应用程序中,我有我的喜好在XML文件,该文件。我现在想要设置一个偏好使用代码,而不是显示整个偏好,屏幕上,我怎么会去做这个?

有帮助吗?

解决方案

我假设的偏好你指的应用程序的偏好和不安卓的手机设置。

储存的偏好之间的运行的应用程序,你需要做的下面

  1. 创建一个控制你的电话和报文统计信息的对象

    SharedPreferences settings = getSharedPreferences(String n, MODE_PRIVATE);
    

    串n识你的喜好和第二个论点是该模式,他们会被访问

  2. 实例编辑的对象

    SharedPreferences.Editor editor = settings.edit();
    

    注:不要试图设置。编辑器。编辑(),这种将不会使一个持久的目的和代码下面不会工作

  3. 写你的喜好来缓冲

    editor.put...(String, value)
    

    有许多投入功能,putString,putBoolean,等等。串的关键("版本"、"良好的运行")并值价值("1.5.2",true)

  4. 齐的缓冲

    editor.commit();
    

    这实际上写你把到的偏好。如果你的应用程序崩溃之前,这条线后所偏好的不会写。还有一个有记载的错误:commit()是应该返回布尔指示的成功或失败。最后我检查了它总是返回错误的。

这些偏好将会通过存储在电话上,只有通到你的申请。

更多的文件 在这里,

其他提示

我试过,但没有工作:

SharedPreferences settings = getSharedPreferences(String n, MODE_PRIVATE);

尝试这个代替:

SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);

可以通过使用下面的代码保存在sharedpreferences东西

public static void save(String valueKey, String value) {
    SharedPreferences prefs = PreferenceManager
            .getDefaultSharedPreferences(context);
    SharedPreferences.Editor edit = prefs.edit();
    edit.putString(valueKey, value);
    edit.commit();
    }

要读首选项:

public static String read(String valueKey, String valueDefault) {
    SharedPreferences prefs = PreferenceManager
            .getDefaultSharedPreferences(context);
   return prefs.getString(valueKey, valueDefault);
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top