2012-03-02 44 views
1

我非常新的Android开发人员。我浏览过这里的API http://developer.android.com/reference/android/content/SharedPreferences.html如何获得SharedPreferences文件的内容,并覆盖它们吗?

,但我感到困惑的是如何真正得到文件内容和读取或写入它们。

我有这样的代码来获取SharedPreferences对象:

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(MyClassName.this); 

但在这种情况下,我得到的参考sharedPreferences,而不是存储的偏好的数据到我的文件的连接。

也许我没有正确理解API,但我怎么拿到参考文件和读/写呢?

谢谢!

回答

1

如果你想从你的SharedPreferneces得到的值,你必须使用(这个例子也适用于字符串,但你也可以拨打getBoolean,getInt等等)

prefs.getString("myString", "defaultValue"); // "defaultValue" will be returned in case "myString" wasn't saved on the SharedPreferences 

存储一些值,您可以像这样做:

prefs.edit() 
.putString("myString", "newValue") 
.putBoolean("working", true) 
.commit(); 

正如你可以看到你可以同时编辑多个值..

1

edit()将返回你,你有为了修改sharedpreferences文件,使用编辑器,当你结束编辑它,以使更改永久

1

但在这种情况下调用commit(),我得到的参考sharedPreferences,而不是存储的偏好的数据到我的文件的连接。

SharedPreferences对象与存储偏好数据的文件有“连接”。

也许我不正确地理解API,但我该如何获得对文件的引用并对其进行读/写?

要阅读首选项,请使用SharedPreferences(例如getString())上的获得者。写自己的喜好:

  • SharedPreferences对象上调用edit()
  • 使用制定者对Editor(例如,putString()
  • 呼叫apply()(如果可能)或commit()Editor获取一个SharedPreferences.Editor保存您的更改

此外,您可以(并且在许多情况下应该)也使用PreferenceActivity允许用户直接查看和修改自己的喜好。