是否可以从用户保存的某种形式的数据库文件中读取数据(只读),在预先确定的位置上,在SD卡上?
我想让我的地图应用程序的用户下载地图瓷砖离线使用。将其存储为单个文件会更方便,因此认为数据库是最好的。该文件可能在8+ GB大小的范围内,包含100000个PNG瓷砖图像。用户将被插入下载这个文件从网络,并保存到SD卡自己。
如果可能的话,我想SQLite应该是最好的选择。
有谁知道的限制吗?我一直受到Windows开发的限制(无法从应用程序保存到SD卡,无法将文件附加到电子邮件任务,等等)。所以在这一次尝试之前我想先问一下。
发布于 2014-01-21 22:41:12
目前,使用现有的DB解决方案读取SD卡是不可能/很容易的.
不幸的是,我遇到的任何DB库都没有实现接受ExternalStorageDevice或流(使用ExternalStorageDevice.GetFileAsync()提供)作为数据库源的接口。大多数人想要一个文件路径,然后与标准的System.IO方法一起使用,这些方法被Windows阻止访问SD卡。
我也尝试适应各种库,但是Windows本身存在一个错误,从ExternalStorageDevice.GetFileAsync()返回的流不能正确地从文件的第一部分查找。有关更多细节,请参见this question。
发布于 2013-11-07 22:01:09
是的,通过定义应用程序可以打开的特定文件后缀,您可以在Windows 8上使用所谓的“文件类型关联”。您可以打开任何文件(只读!)无论是从电话,SD卡,甚至电子邮件附件。我想一旦你读了这个文件,你就可以把它复制到IsolatedStorage应用程序中,以便以后安全地访问它。
有关更多细节,请参见此:
http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj206987(v=vs.105).aspx
https://stackoverflow.com/questions/19827159
复制相似问题