如何访问Xamarin.Forms中每个平台的公共下载文件夹

时间:2016-09-15 13:02:10

标签: xamarin.forms xamarin.uwp

我需要创建一个备份服务,所以我打算在每个平台上保存SQLite数据库文件。卸载应用程序后,保存的文件应该可用

我打算使用 下载 文件夹(应该可以在每个平台上使用)。

我创建了一个接口,并且每个平台使用以下代码:

接口

public interface IBackupService
{
  string GetDownloadPath();
}

的Android

public string GetDownloadPath()
{
  return Android.OS.Environment.DirectoryDownloads;
}

UWP

public string GetDownloadPath()
{
  return Windows.Storage.KnownFolders.???????;
}

我该怎么办?我可以使用公共图书馆吗?

1 个答案:

答案 0 :(得分:0)

根据KnownFolders上的此文档,似乎没有常规下载文件夹。因此,您对每个平台上的“下载”文件夹的假设似乎都不正确。

如果我们再深入一点,我们会到DocumentsLibrary,这似乎是出于这种目的的明显选择,但事实并非如此。微软说:

  

文档库不适用于一般用途。有关更多信息,   见App capability declarations。另外,请参阅以下博客文章。   Dealing with Documents: How (not) to use the documentsLibrary capability in Windows Store apps

之后的段落似乎描述了我们当时要做的事情;

  

如果您的应用必须创建和更新只有您的应用使用的文件,   考虑使用应用程序的本地文件夹。从中获取应用程序的本地文件夹   Windows.Storage.ApplicationData.Current.LocalFolder属性。

因此,我可以从您的问题中提取您只想为您的应用使用存储空间,因此Windows.Storage.ApplicationData.Current.LocalFolder似乎是微软的正确选择。