我有以下两种方法,我正在使用它们在本地存储特殊值,并能够在应用程序重新启动时访问它:
(在本地存储值:)
private void SaveSet(string key, string value)
{
ISharedPreferences prefs = PreferenceManager.GetDefaultSharedPreferences(this);
ISharedPreferencesEditor prefEditor = prefs.Edit();
prefEditor.PutString(key, value);
// editor.Commit(); // applies changes synchronously on older APIs
prefEditor.Apply(); // applies changes asynchronously on newer APIs
}
(再次阅读:)
private string RetrieveSet(string key)
{
ISharedPreferences prefs = PreferenceManager.GetDefaultSharedPreferences(this);
return prefs.GetString(key, null);
}
这很好用。现在可以从外部访问和编辑此共享首选项了吗?不幸的是,在文件夹中搜索时找不到任何文件
Phone\Android\data\com.<company_name>.<application_name>\files
也没有其他地方。将手机连接到它后,我想要/尝试从我的计算机编辑此值。这可能吗?
或者:有人可以教我如何在上述给定路径中创建一个新文件,以编程方式写入/读取该文件,以及如何将其保存在该文件中,即使应用程序已关闭/再次启动?这样我就可以用计算机编辑该文件了吗?
我使用以下代码尝试了此操作,但不幸的是,它不起作用/未创建文件,或者至少我在上面的给定路径中看不到它:
//"This code snippet is one example of writing an integer to a UTF-8 text file to the internal storage directory of an application:"
public void SaveValueIntoNewFile(int value)
{
var backingFile = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "newFile.txt");
using (var writer = System.IO.File.CreateText(backingFile))
{
writer.WriteLine(value.ToString());
}
}
对于每个答案都会非常高兴,在此先感谢您,并致以最诚挚的问候
答案 0 :(得分:0)
您要寻找的是Android为使用默认PreferenceManager
的应用程序存储“共享首选项”文件的地方。
我会参考this SO post,它可以很好地回答您的问题
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 /需要超级用户 特权
答案 1 :(得分:0)
一种简单的方法是使用Android Device Monotor
,您可以通过单击Tools
-> android
-> Android Device Monotor...
来打开它
例如:
设备中的路径如下:
/data/data/YOUR_PACKAGE_NAME/shared_prefs/YOUR_PACKAGE_NAME_preferences.xml
我们注意到图片的右上角有三个按钮。
第一个用于Pull a file from the device
,第二个用于Push a file onto the device
,最后一个用于删除preferences.xml文件。
因此,我们可以将preferences.xml文件从当前设备拉到我们的计算机上并根据需要对其进行编辑,然后将更新的preferences.xml再次推到该文件夹中,然后我们将获得preferences.xml文件的值。