2

最近我正在为安卓和黑莓开发应用程序。我需要做的是在项目中存储一个 32MB 的 Sqlite 文件作为应用程序使用的初始数据库。在 android 的情况下,它很简单,我可以轻松地将这个大文件存储在 assest 文件夹中,但我很难尝试在黑莓中进行这项工作,因为根据 RIM 公告,应用程序大小不应大于 15 MB。

http://forums.crackberry.com/blackberry-os-apps-f35/rim-explains-app-memory-limit-637544/

如果有任何其他技巧可以实现这一点,任何人都可以帮助我。在应用程序启动期间下载 32 MB 的文件不是一个好主意。将用户导航到应用程序需要很长时间。

提前谢谢了。任何帮助将不胜感激。

4

1 回答 1

1

我昨天下班后一直在考虑这个问题,我认为您也可以尝试包含数据库包含的相同数据,但采用压缩格式,例如第一次运行应用程序时,您创建并填充更大的本地 sqlite从中建立数据库,然后删除压缩数据。

例如,您可以创建每个表的 CSV 转储,并将其保存到 .csv 文件(即:table.csv)。然后你可以将每一个压缩到一个文件(即:table.gz)。然后,您在应用程序的第二个资源模块中编译每个压缩文件(即:res_module.cod)。当您安装该应用程序时,该模块也会被安装,并将其文件复制到 SDCard。然后主模块从 SDCard 读取文件,解压缩它们并从中填充每个表。之后,您可以通过编程方式卸载assets 模块并删除sdcard 临时文件。这样做的要求是压缩文件应小于 14 MB 以适合一个 cod 文件。

至于数据库模式,可能已经存在用于导出它的格式,否则您可以制作自己的格式,或者如果数据库不太可能更改,则对其进行硬编码(不好的做法)。

于 2013-04-26T08:38:12.070 回答