2011-05-26 141 views

回答

192

SharedPreferences被存储在该应用程序的数据文件夹中的XML文件,即

/data/data/YOUR_PACKAGE_NAME/shared_prefs/YOUR_PREFS_NAME.xml 

或默认首选项:在运行时间期间加入

/data/data/YOUR_PACKAGE_NAME/shared_prefs/YOUR_PACKAGE_NAME_preferences.xml 

SharedPreferences不存储在Eclipse项目。

注:访问/data/data/<package_name>需要超级用户权限

+2

啊,我明白他要去的是什么。 +1 – JasCav 2011-05-26 23:27:17

+3

默认的共享首选项文件实际上是:'/ data/data//shared_prefs/ _preferences.xml'。 – inazaruk 2011-05-27 00:08:08

+0

@inazaruk尽管我在设备上看到'/ _preferences.xml'和'/ .xml'的混合使用,这确实是完整的软件包名称。也许它取决于应用程序的API级别? – Aleadam 2011-05-27 00:12:49

7

首选项可以在代码中设置,也可以在res/xml/preferences.xml中找到。您可以在Android SDK网站上阅读更多关于首选项的信息。

+1

我的项目没有res/xml。 – 2011-05-26 23:09:41

+4

您必须创建它 - 只要您创建了一个Android项目,就可以右键单击“res”目录并添加一个名为“xml”的新文件夹。其他“特殊”文件夹是动画,可绘制,布局,菜单,原始和值。 – JasCav 2011-05-26 23:10:48

2

的数据被存储在设备上,在应用程序的私有数据区。它不在Eclipse项目中。

4

只是为了节省一些你的时间......

在我的Galaxy S v.2.3.3共享偏好并不存储在:/data/data/YOUR_PACKAGE_NAME/shared_prefs/YOUR_PREFS_NAME.xml

,但现在位于:/dbdata/databases/YOUR_PACKAGE_NAME/shared_prefs/YOUR_PREFS_NAME.xml

我相信他们改变了这个在2.3

+1

2.2是否一样?我无法找到/数据文件在我的项目中的任何地方,无论是在日食或项目位置。 – Pramod 2011-09-11 10:44:20

+0

@pramod不在eclipse中 - 这是实际设备文件结构上的路径。 – 2012-09-19 12:40:53

+0

@Pramod在文件资源管理器视图中看到它,并在'/ data/data/YOUR_PACKAGE_NAME/shared_prefs/YOUR_PREFS_NAME.xml'中看到它# – 2013-01-28 13:26:21

3

我只是试图得到像这样的共享偏好路径。这对我来说是工作。

File f = getDatabasePath("MyPrefsFile.xml"); 

if (f != null) 
    Log.i("TAG", f.getAbsolutePath());