安卓-我怎么设置一个优先码
-
23-08-2019 - |
题
我有一个应用程序中,我有我的喜好在XML文件,该文件。我现在想要设置一个偏好使用代码,而不是显示整个偏好,屏幕上,我怎么会去做这个?
解决方案
我假设的偏好你指的应用程序的偏好和不安卓的手机设置。
储存的偏好之间的运行的应用程序,你需要做的下面
创建一个控制你的电话和报文统计信息的对象
SharedPreferences settings = getSharedPreferences(String n, MODE_PRIVATE);
串n识你的喜好和第二个论点是该模式,他们会被访问
实例编辑的对象
SharedPreferences.Editor editor = settings.edit();
注:不要试图设置。编辑器。编辑(),这种将不会使一个持久的目的和代码下面不会工作
写你的喜好来缓冲
editor.put...(String, value)
有许多投入功能,putString,putBoolean,等等。串的关键("版本"、"良好的运行")并值价值("1.5.2",true)
齐的缓冲
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);
}
不隶属于 StackOverflow