当应用程序在Xamarin的SD卡上时,为什么LocalStorage路径不会改变?

时间:2017-04-25 11:49:09

标签: xamarin xamarin.forms

我有Xamarin Forms应用程序。我正在使用PCL存储来保存来自网络的图像。此存储的路径(FileSystem.Current.LocalStorage)是:

“/数据/用户/ 0 / com.MyApp /文件”

在我的Android手机上,当我进入设置 - >应用程序管理器 - > MyApp->存储 - >存储使用 - >更改并将应用程序放到SD卡时,LocalStorage的路径不会更改。它仍然是:

“/数据/用户/ 0 / com.MyApp /文件”

为什么没有改变?

1 个答案:

答案 0 :(得分:1)

LocalStorage文件夹将始终保持不变,不是动态的,也不依赖于您的应用的运行位置。

我怀疑它是命名的东西是指与Microsoft使用本地和漫游文件夹实现的类似概念。本地文件夹旨在保留在您运行的本地设备上(但仍位于固定位置),并且漫游文件夹的内容可以跨多个设备或平台同步。但最后一部分只是对我的猜测。

如果您想要写入其他文件夹,则必须超越PCLStorage并开始编写dependency services。有关SpecialFolder枚举列表,请参阅this文档页面。在Xamarin论坛上的旧论坛post上也有一些有用的信息。

修改

当然,我们可以看到回购代码中发生了什么。 Here您可以看到,对于Android,LocalStorage文件夹是Android上的MyDocuments文件夹。正如您自己发现的那样,它将始终映射到同一文件夹。如果你想在SD卡上有东西,你必须自己处理。