Java 如何在Blackberry project中存储32 MB文件

Java 如何在Blackberry project中存储32 MB文件,java,database,blackberry,download,large-files,Java,Database,Blackberry,Download,Large Files,最近我正在为android和blackberry开发应用程序。 我需要做的是在项目中存储一个32MB的Sqlite文件作为应用程序使用的初始数据库。在android的情况下,它很简单,我可以轻松地将这个大文件存储在assest文件夹中,但我很难在blackberry中实现这一点,因为根据RIM公告,应用程序大小不应大于15MB 有谁能帮助我,如果有任何其他的诡计罢工,使这发生。 在应用程序启动期间下载32MB的文件不是一个好主意。将用户导航到应用程序需要很长时间 非常感谢。 非常感谢您的帮助。

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

有谁能帮助我,如果有任何其他的诡计罢工,使这发生。 在应用程序启动期间下载32MB的文件不是一个好主意。将用户导航到应用程序需要很长时间

非常感谢。
非常感谢您的帮助。

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

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


至于DB模式,可能已经存在用于导出它的格式,否则您可以创建自己的格式,或者如果DB不太可能更改,则对其进行硬编码(糟糕的做法)。

您唯一可以做的就是在用户第一次打开应用程序时从WS下载数据,然后将其保存到sqlite DB或文件中。但是如果数据量如此之大,用户将直接退出,或者他们可能会被运营商收取费用,等等。你真的需要32MB吗?是的,我需要这个大数据文件,我们有web支持,我们也可以从web服务器获取数据。但客户端也需要数据库的本地存储,因此网络不可用。我当然建议在后台下载文件,这样就不会阻塞UI线程。让用户在数据库下载时继续使用应用程序。它可能足够大,您可能还希望将文件拆分为多个部分,这样,如果用户在下载完成之前退出或失去连接,您就不必下次100%下载。然后,下载完所有文件后重新组装文件。这主意不错,但有点复杂。根据RIM的限制,我们只能在资源文件夹中存储7-8 MB的原始文件&在资源文件夹中包含图像后,我只有5 MB的空间。可能CSV文件占用的空间小于5 MB。这取决于要压缩的数据的性质。也许您可以做一个快速测试,并在gzip中压缩整个.db文件(我最初认为csv文本文件假设sqlite文件由于开销而更大)。这会让你大致了解达到的压缩率,以及它是否适合你的可用空间。Smith先生@我试图在我的src文件夹中插入压缩数据库,但我一将压缩数据库复制到源文件夹中。它停止运行应用程序并说:-没有入口点….我缺少什么。将资源文件放在/res文件夹中是一种好做法,尽管我不确定这是否能解决您的问题。您可以尝试将文件放置在没有源代码的其他测试应用程序中,然后尝试编译。顺便说一句,压缩后的文件大小是多少?压缩后的文件比25MB的sqlite文件有4MB的空间。