爲了進行調試,我需要訪問我的應用程序的共享首選項文件。據我所知,我應該在/ 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 xml文件
- 4. SharedPreferences文件
- 5. Android Studio:重命名SharedPreferences文件
- 6. Android有多少個sharedpreferences文件?
- 7. SharedPreferences無法讀取文件(android 2.x)
- 8. Android SharedPreferences
- 9. Android SharedPreferences
- 10. 查看Mac上cordova.file.dataDirectory Android的文件空
- 11. Android查看多頁.tiff文件
- 12. 在Android中查看PDF文件
- 13. Xamarin Android無法查看文件
- 14. 如何在android中查看DICOM文件
- 15. 如何查看throuth android屬性文件
- 16. 在Android WebView中查看PDF文件
- 17. 刪除SharedPreferences文件
- 18. Android SharedPreferences捲入式鑄件
- 19. Android小部件訪問sharedpreferences
- 20. Android查看和查看組
- 21. 查看PDF文件
- 22. 查看autocomplete.do文件
- 23. 查看.ERWIN文件
- 24. COLLADA文件查看
- 25. Android onClick事件查看
- 26. 查看檢查點文件
- 27. Android中的SharedPreferences
- 28. Android SharedPreferences備份
- 29. Android sharedpreferences into arraylist
- 30. SharedPreferences的Android
這裏我的答案可能會有所幫助http://stackoverflow.com/a/40464820/5868421 – 2017-01-19 07:57:43