我需要创建一个备份服务,所以我打算在每个平台上保存SQLite数据库文件。卸载应用程序后,保存的文件应该可用。
我打算使用 下载 文件夹(应该可以在每个平台上使用)。
我创建了一个接口,并且每个平台使用以下代码:
接口:
public interface IBackupService
{
string GetDownloadPath();
}
的Android :
public string GetDownloadPath()
{
return Android.OS.Environment.DirectoryDownloads;
}
UWP :
public string GetDownloadPath()
{
return Windows.Storage.KnownFolders.???????;
}
我该怎么办?我可以使用公共图书馆吗?
答案 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
似乎是微软的正确选择。