0

我正在构建一套依赖于彼此数据的应用程序。我想将此共享数据存储库放在 Documents 库文件夹中。

但是,当我尝试将应用程序提交到 Windows 8 商店时,我被拒绝访问该文件夹位置。

我有一个不符合 DocumentLibrary 访问权限的开发者帐户。有人告诉我,因为我不是公司,所以我没有资格获得公司帐户。

离线时如何与其他应用程序共享应用程序数据?

4

2 回答 2

0

是的,公司/个人帐户之间的差异之一是对文档库的访问(此处的差异的完整列表)。

如果需要脱机,则一种选择是 SQLLite。请在此处查看 Tim 的帖子。

如果在线就足够了,Windows Azure 移动服务非常棒,因为它提供了一个快速简单的数据库后端。更多细节在这里

于 2013-03-20T02:09:11.153 回答
0

Windows 应用商店应用在沙盒环境中运行,彼此隔离,因此无法轻松共享数据。

如果两个应用程序都可以连接到自定义在线服务以在它们之间共享数据是不够的,那么您需要用户选择一个文件夹(从两个应用程序中)来存储共享数据。这样你就可以访问它了。

首先FolderPicker用于用户选择文件夹:

var picker = new FolderPicker();
picker.FileTypeFilter.Add(".sqldb");
var folder = await picker.PickSingleFolderAsync();

然后将文件夹添加到,FutureAccessList以便即使在应用程序重新启动后您仍可以访问它:

var token = StorageApplicationPermissions.FutureAccessList.Add(folder);

您需要存储它token以便下次加载它。LocalSettings将是一个合适的位置。当您的应用再次运行时,您首先读取令牌并重新获得对所选文件夹的访问权限:

var folder = await StorageApplicationPermissions.FutureAccessList.GetFolderAsync(token);

我知道这不是一个完美的解决方案,因为它需要用户干预才能正确设置所有内容,但我认为这是使应用程序之间的此类数据共享成为可能的唯一方法。即便如此,您可能很难使用此功能验证应用程序。

于 2013-03-20T06:04:08.337 回答