0

我为我的应用程序开发了导入/导出功能,因此用户可以导出数据库和共享首选项以在另一部手机中使用。这一直很好,直到我给自己买了一个 S3 并尝试这样做。

经过一些工作,我得到了数据库导入/导出工作(决斗 SCdards 问题),但共享首选项仍然给我带来麻烦。

在新安装时,导入失败,因为手机上没有共享首选项文件。一旦我更新了一个选项,就会创建文件(添加到检查手机上的文件是否存在)

这是创建它

this.sharedprefs = context.getSharedPreferences("sharedprefres.xml", Activity.MODE_PRIVATE);

这个检查文件是否存在

File sharedPrefencesFileOnPhone = new File(/data/data/PACKAGE_NAME/shared_prefs/, "sharedprefres.xml");

        if (sharedPrefencesFileOnPhone.exists()) 
            Log.d(DEBUG_TAG, "SP : Running Copy");

然后副本似乎消失了,但没有更新任何选项。

这一切都适用于模拟器,没有问题

只有在我更新了选项并创建了文件后,该检查才有效,这让我相信共享首选项已保存。

S3 是否将共享首选项隐藏在其他地方,如果是,是否有一些代码可以让我追踪它,这些代码可以在多部手机上使用

谢谢你的时间

4

1 回答 1

0

尝试

/dbdata/databases/package.name/shared_prefs/package.name_preferences.xml(如果存在,请使用它)

否则

new File(getFilesDir(), "../shared_prefs");

或者

/data/data/package.name/shared_prefs/package.name_preferences.xml
于 2012-12-07T10:18:51.997 回答