为了进行调试,我需要访问我的应用程序的共享首选项文件。据我所知,我应该在/ data /中找到这个文件,但是我无法访问/ data文件夹中的权限。这是正常的吗?任何方式仍然可以访问该文件? (除了可能从应用程序内部提交它?)手机没有植根,我也不想植根。 感谢您的任何提示!Android:查看SharedPreferences文件?
回答
我以前遇到过这个问题(没有文件系统的root权限,但需要访问应用程序数据文件夹)。如果您没有固定设备或开发人员设备(如ADP1),则可以尝试在模拟器上运行应用程序,然后从eclipse或DDMS中的“文件资源管理器”中访问文件。
编辑#1: 尝试使用sharedPreferences的getAll函数并将其保存到文件中,我会看看我是否可以将样本放在一起。
编辑#2: 示例代码,从网络上的随机样本创建,可能不是最好的方式来做到这一点,但我测试了它,它确实工作。它将一个文件写入您的SD卡的根目录。请确保你有你的清单
private void saveSharedPreferences()
{
// create some junk data to populate the shared preferences
SharedPreferences prefs = getSharedPreferences("MyPrefs", MODE_PRIVATE);
SharedPreferences.Editor prefEdit = prefs.edit();
prefEdit.putBoolean("SomeBooleanValue_True", true);
prefEdit.putInt("SomeIntValue_100", 100);
prefEdit.putFloat("SomeFloatValue_1.11", 1.11f);
prefEdit.putString("SomeStringValue_Unicorns", "Unicorns");
prefEdit.commit();
// BEGIN EXAMPLE
File myPath = new File(Environment.getExternalStorageDirectory().toString());
File myFile = new File(myPath, "MySharedPreferences");
try
{
FileWriter fw = new FileWriter(myFile);
PrintWriter pw = new PrintWriter(fw);
Map<String,?> prefsMap = prefs.getAll();
for(Map.Entry<String,?> entry : prefsMap.entrySet())
{
pw.println(entry.getKey() + ": " + entry.getValue().toString());
}
pw.close();
fw.close();
}
catch (Exception e)
{
// what a terrible failure...
Log.wtf(getClass().getName(), e.toString());
}
}
来源
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
不幸的是我的应用程序涉及到wlan和wlan在模拟器上不可用,不是吗? – 2011-05-10 14:43:23
我不相信模拟器上有wlan,我会再看看 – snctln 2011-05-10 14:48:13
snctln,我有同样的想法,不o任何工作,我会尝试它,没有需要的样品;-) – 2011-05-10 14:54:50
在无根电话上,不幸的是没有好方法访问/ data文件夹。你可以尝试用MODE_WORLD_READABLE
像这样创建的文件:
SharedPreferences myPrefs = this.getSharedPreferences("prefs", MODE_WORLD_READABLE);
,然后尝试使用adb pull
获取的文件保存到桌面。
adb pull /data/data/<packagename>/shared_prefs/prefs.xml
,但您的里程可能会有所不同。
HMM我该如何创建文件?我用xml指定了我的偏好,android处理它的存储......我只需要通过它从代码中检索值。感谢您的任何提示和答复:-) – 2011-05-10 14:42:54
该文件是由Preferences框架自动创建的:如果您需要访问代码中的数据,您应该能够使用首选框架,如http:// developer所述.android.com /指南/主题/数据/ data-storage.html#pref – Femi 2011-05-10 14:49:21
感谢费米,这工作,但不知何故我使用错误的关键或Android存储的东西比预期的不同...这就是为什么我想看看在所有值/文件本身): 编辑:好吧,有getAll()方法,将有一个看看它。 – 2011-05-10 14:53:24
- 1. Android的 - 如何更改文件的查看与SharedPreferences
- 2. Android中的SharedPreferences文件
- 3. SharedPreferences文件
- 4. SharedPreferences xml文件
- 5. Android Studio:重命名SharedPreferences文件
- 6. Android SharedPreferences
- 7. Android SharedPreferences
- 8. Xamarin Android无法查看文件
- 9. 如何在android中查看DICOM文件
- 10. 在Android WebView中查看PDF文件
- 11. 如何查看throuth android属性文件
- 12. 删除SharedPreferences文件
- 13. Android SharedPreferences卷入式铸件
- 14. Android查看和查看组
- 15. 查看.ERWIN文件
- 16. 查看autocomplete.do文件
- 17. COLLADA文件查看
- 18. Google Analytics Android Sharedpreferences
- 19. store arraylist sharedpreferences android
- 20. Android SharedPreferences限制?
- 21. Android SharedPreferences限制
- 22. Android sharedpreferences into arraylist
- 23. 关于SharedPreferences android
- 24. Android SharedPreferences混淆
- 25. 文本文件查看器
- 26. SharedPreferences与私人文件
- 27. 没有sharedpreferences或db文件
- 28. Android查看ID
- 29. Android查看Gone
- 30. Android Web查看
这里我的答案可能会有所帮助http://stackoverflow.com/a/40464820/5868421 – 2017-01-19 07:57:43