Android Galaxy S3上的共享首选项位置

Android Galaxy S3上的共享首选项位置,android,sharedpreferences,Android,Sharedpreferences,我已经为我的应用开发了一个导入/导出功能,以便用户可以导出数据库和共享首选项,以便在其他手机中使用。这一直很好,直到我得到了一个S3,并试图做到这一点 经过一些工作,我让数据库导入/导出工作(duel标准问题),但共享首选项仍然给我带来麻烦 在新安装中,导入失败,因为手机上没有共享首选项文件。一旦我更新了一个选项,文件就会被创建(添加到检查中,以查看手机上的文件是否存在) 这是创建它的方法 this.sharedprefs = context.getSharedPreferences("shar

我已经为我的应用开发了一个导入/导出功能,以便用户可以导出数据库和共享首选项,以便在其他手机中使用。这一直很好,直到我得到了一个S3,并试图做到这一点

经过一些工作,我让数据库导入/导出工作(duel标准问题),但共享首选项仍然给我带来麻烦

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

这是创建它的方法

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是否将共享首选项隐藏在其他地方?如果是的话,是否有一些代码可供我追踪,可以在多手机上使用

谢谢您抽出时间

试试看

/dbdata/databases/package.name/shared\u prefs/package.name\u preferences.xml
(如果存在,请使用它)

否则

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


面向服务的体系结构可能值得一看,让您有时间了解事物的导入导出方面。你可以看看谷歌的服务,看看它们是否能支持你的数据,或者你自己的定制服务。你能提供一个链接来获取更多信息吗。感谢您尝试了文件共享\u prefs=新文件(getDataDir(context.getApplicationContext().getPackageName()),“shared\u prefs/”;这会输出我上面硬编码的文件位置,请尝试上面给出的路径,并告知情况。你试过吗?
/data/data/package.name/shared_prefs/package.name_preferences.xml