适用于Windows Phone 8的简单SD卡兼容数据库/ NoSql解决方案

时间:2013-12-11 01:14:34

标签: c# database sqlite windows-phone-8 nosql

有没有人知道我的应用可以使用的Windows Phone 8的良好数据库或NoSql引擎?

我需要能够从SD卡打开只读数据库文件。它需要能够处理存储blob(png图像),因为我想使用它来提供离线使用的地图图块。需要将100,000个图像切片存储在数据库中。

我通过C#包装器尝试了SQLite for Windows Phone,但我似乎无法使用SD卡上的数据库文件。

Windows Phone应用程序访问SD卡上的文件有一些限制,但有可能: http://msdn.microsoft.com/library/windowsphone/develop/jj720573%28v=vs.105%29.aspx

Microsoft员工关于我对SQLite的困难的反馈:

  

Windows Phone应用可以使用SD卡读取特定文件类型   Microsoft.Phone.Storage API。

     

我希望手机的SQLite实现尝试打开   数据库使用标准C文件API而不是使用存储   对象等要求数据库在Xap中或隔离   存储并且无法访问SD卡上的数据库(这是   绝对适用于Windows Store应用程序的SQLite。

来自SQLite SDK社区的反馈:

显然,为具有某些C ++技能的人添加对SQLite SDK的支持应该是相当直接的(我的有点生锈!):

回复:

我原来的问题:

2 个答案:

答案 0 :(得分:0)

从您的评论中,听起来非常不同的方法会更好。

您的要求似乎是最终用户负责使用他们的台式机/笔记本电脑将数据放入卡中。然后将卡插入手机。

如果是这种情况那么似乎最好的解决方案是提供一个普通的桌面应用程序,它抓取zip文件中的图像,然后对目标卡执行解压缩操作。从本质上讲,应用程序负责操作。

如果您需要有关这些图像的任何元数据,则应包含json或xml文件。

这比在只读SD卡上处理数据库要简单得多。

答案 1 :(得分:0)

对我有用的解决方案是采用OpenMCDF并使其适应Windows Phone 8.我已经在GitHub上提供了改编的OpenMCDF-wp8解决方案:https://github.com/gavinharriss/OpenMCDF-wp8

我还解决了Windows Phone 8的问题,该问题阻止Seek()正确处理从ExternalStorageFile类返回的Stream:https://github.com/gavinharriss/ExternalStorageFileWrapper-wp8