最近我正在为安卓和黑莓开发应用程序。 我需要做的是在项目中存储一个 32MB 的 Sqlite 文件作为应用程序使用的初始数据库。如果是 android,它很简单,我可以轻松地将这个大文件存储在 assest 文件夹中,但我很难尝试在黑莓中进行这项工作,原因是因为根据 RIM 公告,应用程序大小不应大于 15 MB。
http://forums.crackberry.com/blackberry-os-apps-f35/rim-explains-app-memory-limit-637544/
如果有任何其他技巧可以实现这一点,任何人都可以帮助我。 在应用程序启动期间下载 32 MB 的文件不是一个好主意。将用户导航到应用程序需要很长时间。
非常感谢。 任何帮助将不胜感激。
最佳答案
我昨天下类后一直在考虑这个问题,我认为您也可以尝试包括数据库中包含的相同数据,但采用压缩格式,例如第一次运行应用程序时,您创建并填充从中获取更大的本地 sqlite 数据库,然后删除压缩数据。
例如,您可以创建每个表的 CSV 转储,并将其保存到 .csv 文件(即:table.csv)。然后你可以将每个文件 gzip 到一个文件中(即:table.gz)。然后,您可以在应用程序的第二个资源模块中编译每个压缩文件(即:res_module.cod)。安装应用程序时,也会安装此模块并将其文件复制到 SDCard。然后主模块从 SDCard 中读取文件,解压缩它们并从中填充每个表。之后,您可以通过编程方式卸载 assests 模块并删除 sdcard 临时文件。此工作的要求是压缩文件应小于 14 MB 以适合一个 cod 文件。
至于数据库架构,也许导出它的格式已经存在,否则您可以制作自己的格式,或者如果数据库不太可能更改,则对其进行硬编码(不好的做法)。
关于java - 如何在 Blackberry 项目中存储 32 MB 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16208036/