我正在使用xamarin表单来开发Android应用程序。我可以通过保存
文件 var fileName = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), $"appsettiings.txt");
var data = JsonConvert.SerializeObject(this);
File.WriteAllText(fileName, data);
调试时,我可以看到文件应该存储在
/data/user/0/<applicationame>/files/.local/share/appsettiings.txt
我想查看文件是否真正保存以及内容是什么。我打开了Android设备监视器,但数据文件夹为“空”。在其他情况下,我认为我应该以root模式执行
C:\Program Files (x86)\Android\android-sdk\platform-tools>adb root
现在data文件夹包含数据,我可以向下钻取到files文件夹,但是那个似乎是空的。
当我再次运行该应用程序并检入代码是否存在时,它确实存在。
关于如何从任何工具访问该文件的任何进一步建议。我想删除该文件,然后再次运行该应用程序。
答案 0 :(得分:0)
您可以使用adb pull
将文件复制到本地计算机,并按如下所示查看其内容:
adb root
adb pull /data/user/0/<applicationame>/files/.local/share/appsettiings.txt [LOCAL_FOLDER]
然后您可以使用adb shell
然后使用rm -f
删除它,如下所示:
adb shell
su
rm -f /data/user/0/<applicationame>/files/.local/share/appsettiings.txt
由于您请求的文件位于/ data文件夹中,因此您需要具有相应的根特权才能获取它,因此您需要在adb root
命令之前执行adb pull
,并且您需要在删除文件之前执行su
。
答案 1 :(得分:0)
如果我没记错的话,如果您使用自己的方法保存文件,则该文件应该存在,正如您已经使用.Exists方法证明的那样。
我不太确定,您只是想从文件中读取内容吗?还是要从应用程序外部访问它?
如果您只想阅读内容,则可以使用
进行访问 string content= File.ReadAllText(your file path);
并在下一行设置一个断点(F9)。