【问题标题】:Unable to find the PCLstorage path in Android在 Android 中找不到 PCLstorage 路径
【发布时间】:2016-06-15 23:18:47
【问题描述】:

我在 Xamarin 中创建了一个 PCL 项目,并尝试使用 PCLstorage 使用跨平台解决方案保存文件。 这是我的代码(来自PCLstorage website 中的示例)

IFolder rootFolder = FileSystem.Current.LocalStorage;
IFolder folder = await rootFolder.CreateFolderAsync("FolderName", CreationCollisionOption.OpenIfExists);
IFile file = await folder.CreateFileAsync("filename.txt", CreationCollisionOption.ReplaceExisting);
await file.WriteAllTextAsync("text");

现在,我想知道这个文件保存在哪里。 在 Windows Phone 中,使用 WP 电动工具,我可以浏览我的应用程序的 isolatedStorage,然后找到并打开 txt 文件。虽然,在 Android 中,我找不到创建的文件夹! 路径应该是“data/data/com.appname.test/files/ 但我没找到!

有人可以帮助我吗?

【问题讨论】:

    标签: android xamarin cross-platform storage portable-class-library


    【解决方案1】:

    您将只能从设备(不能使用 USB 电缆从 PC)访问该文件夹,并且只能使用 root 权限,因此您需要 root 设备(尝试使用 GooglePlay 中的 SuperSu,它适用于大多数设备)

    【讨论】:

    • 好吧,这很有趣!但是,我创建了一个文件夹,像上面的代码一样编写了一个 txt 文件。然后我尝试阅读它。一切正常。但是,如果我重新启动应用程序并且我只是尝试读取之前创建的文件,我有一个文件异常(它说文件夹不存在,文件也不存在)。这仅发生在 Android 上,而在 Win Phone 上一切正常。我不明白为什么
    • 你是如何重启应用的?您使用 Visual/Xamarin Studio 重新启动它?或者只是在设备上部署后重新启动它?
    • 哦..我使用 Visual Studio 重新启动它。如果我只是重新启动应用程序,它的工作原理!我觉得应该是对的!谢谢
    • 因此,如果您使用 Studio 重新启动它,请转到工具 -> 选项 -> Xamarin -> Android 设置并选中“在部署之间保留设备上的应用程序数据/缓存”,它将在重新启动之间保留文件应用的
    • 你也可以使用模拟器来浏览设备上的数据
    【解决方案2】:

    如果您想将其存储在外部存储中,您可以传递文件夹路径并创建文件。这样您就可以实际访问该文件。

    string path="path";
    IFolder rootFolder = await FileSystem.Current.GetFolderFromPathAsync(path);
    IFolder folder = await rootFolder.CreateFolderAsync("folder", CreationCollisionOption.OpenIfExists);
    IFile file = await folder.CreateFileAsync("file", CreationCollisionOption.ReplaceExisting);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-22
      • 1970-01-01
      • 1970-01-01
      • 2013-10-08
      • 2021-03-06
      相关资源
      最近更新 更多