在Windows 8中使用共享数据库应用程序

问题描述:

我正在为Windows 8开发一组需要本地数据存储的应用程序,并且在从这些应用程序访问数据时遇到麻烦。据我所知,每个应用程序都有自己的位置来存储其数据。原则上可以从不同的应用程序访问Windows.Storage中的一个文件?我使用SQLite作为数据库服务器,并且需要有一个公共数据库在应用程序之间共享数据。在Windows 8中使用共享数据库应用程序

不,应用程序是沙盒,因此它们不能访问彼此的本地数据存储。如果您愿意让您的应用程序初始化过程询问用户放置/查找SQLite数据库的位置,则应用程序可以在用户通过File Picker选择的文件系统上的某个位置共享同一文件。

这意味着,当用户首次启动“第二个”应用程序时,用户必须记住该文件的位置,因为他需要浏览到“第一个”应用程序存放的位置。

但是,如果您利用AccessCache.StorageItemAccessList,则可以将该文件位置保存在应用程序的本地存储中,以便下次用户运行任一应用程序时,他不必通过文件选取器再次授予权限。

+0

我有完全相同的问题。我也依赖于特定于我的第一个应用程序的SQLite文件。我想用这些数据初始化我的第二个应用程序。我不想做的事是强制用户执行他/她不应该关心的用户操作。必须有更好的解决方案。有没有人找到这个问题的解决方案,不向用户公开实现细节? – 2013-03-17 03:47:51