我有一个Android应用程序,我在xml文件中有我的首选项,工作正常。我现在想要使用代码设置一个首选项而不是显示整个首选项屏幕,我将如何进行此操作?
答案 0 :(得分:121)
我认为,根据偏好设置,您指的是应用程序的首选项,而不是Android手机设置。
要在您的应用程序运行之间存储首选项,您需要执行以下操作
创建SharedPreferences对象
SharedPreferences settings = getSharedPreferences(String n, MODE_PRIVATE);
字符串n标识您的首选项,第二个参数是他们将被访问的模式
实例化编辑器对象
SharedPreferences.Editor editor = settings.edit();
注意:不要尝试settings.editor.edit(),这不会成为持久对象,下面的代码将无法正常工作
将您的偏好写入缓冲区
editor.put...(String, value)
有很多put函数,putString,putBoolean等。字符串是键(“版本”,“运行良好”),值是值(“1.5.2”,true)
冲洗缓冲区
editor.commit();
这实际上是你写入首选项。如果您的应用程序在此行之前崩溃,则不会写入首选项。还有一个记录在案的错误:commit()应该返回一个表示成功或失败的布尔值。最后我检查了它总是返回false。
这些首选项将存储在手机上,只有您的应用程序才能访问。
更多文档是here
答案 1 :(得分:8)
我尝试了这个但是没有用:
SharedPreferences settings = getSharedPreferences(String n, MODE_PRIVATE);
请改为尝试:
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
答案 2 :(得分:2)
您可以使用以下代码
在共享偏好中保存某些内容map::iterator
阅读偏好:
map::end()