是否可以从SD卡上预定位置保存的某种形式的数据库文件中读取数据(只读)?
我想允许我的地图应用的用户下载地图图块以供离线使用。将它存储为单个文件会更方便,因此认为数据库是最好的。该文件的大小可能大约为8 GB,包含100,000个PNG平铺图像。用户可能会从网上下载此文件并将其保存到SD卡中。
我认为如果可能的话,SQLite将是最佳选择。
任何人都知道的任何限制?我一直在使用Windows Phone开发限制(无法从应用程序保存到SD卡,无法将文件附加到电子邮件任务等),所以我想在尝试这个时间之前先问一下。
答案 0 :(得分:0)
是的,您可以通过定义应用可以打开的特定文件后缀,在Windows Phone 8上使用所谓的“文件类型关联”。您可以通过电话,SD卡甚至电子邮件附件打开任何文件(只读!)。我想一旦你阅读了这个文件,就可以将它复制到应用程序IsolatedStorage,以便以后安全地访问
有关详细信息,请参阅此处:
http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj206987(v=vs.105).aspx
答案 1 :(得分:0)
目前,使用现有的数据库解决方案无法/易于从SD卡读取...
不幸的是,我遇到的数据库没有实现接受ExternalStorageDevice
或Stream(使用ExternalStorageDevice.GetFileAsync()
提供)作为数据库源的接口。大多数人想要一个文件路径,然后与标准的System.IO方法一起使用,这些方法被Windows Phone阻止访问SD卡。
我还尝试调整适应各种库,但Windows Phone本身存在一个错误,从ExternalStorageDevice.GetFileAsync()
返回的流不能正确地从文件的第一部分查找。有关详细信息,请参阅this question。