可以在Palm Pre上预加载Sqlite DB吗?

时间:2011-06-25 14:16:09

标签: database sqlite webos

我有一个拥有大型(ish)数据库的Palm Pre应用程序。我想将数据库直接传输到手机而不是让应用程序创建数据库。

我尝试使用简单的python脚本在PC上创建sqlite文件,然后让应用程序在媒体/内部文件夹中创建一个空的扩展数据库,然后将PC文件复制到手机上创建的文件上。但是,在尝试读取文件时出现错误:“数据库磁盘映像格式错误”。

有没有人成功做过这样的事情?

编辑:既然我原来的想法实际上是不可能的,我的问题就变成了:用大量数据初始化应用程序数据库而不重复它的最佳方法是什么(现在我有一个数组包含info和第一次运行应用程序时,它会创建并填充数据库)。现在使用混合应用程序的解决方案对我来说太过分了,我需要一个简单快速的解决方案。

替代方案可能是连接到“Web服务”并将数据下载到应用程序。

2 个答案:

答案 0 :(得分:3)

您无法直接从JavaScript代码访问预加载的SQLite数据库 - 虽然WebKit在内部使用SQLite,但它需要将数据库与其自己的数据结构相关联并管理一些约束。

您可以编写一个混合应用程序,其中您的C / C ++代码仅用作访问包含数据文件的服务器。您可以在混合应用程序中使用该静态版本的SQLite来访问该数据,并通过IPC系统将其发送给JS。该模型类似于设备上的Quickfoffice如何使用混合来解析MS Word文档并将其表示发送到使用WebKit渲染引擎显示它们的JS应用程序。

答案 1 :(得分:0)

是否可以让应用创建基本sqlite文件,然后将其下载到桌面以添加批量数据?您应该先关闭应用程序,然后再将其发送回手机。如果它是一个内置的应用程序,如日历,您可能会遇到问题,因为后台进程可能仍在访问数据库。上传后重新启动可能会解决问题。

相关问题