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

问题描述

| 我有一个具有大型数据库的Palm Pre应用程序。我想将数据库直接传输到手机,而不是让应用程序创建数据库。 我尝试的是使用简单的python脚本在PC上创建一个sqlite文件,然后让该应用在媒体/内部文件夹中创建一个空的扩展db,然后将PC文件复制到手机上创建的文件中。但是,尝试读取文件时出现错误:“数据库磁盘映像格式错误”。 有人成功做过这样的事情吗? 编辑:既然我原来的想法实际上是不可能的,我的问题就变成了:用大量数据初始化应用程序数据库而不复制它的最佳方法是什么(现在我有一个包含信息的数组,并且应用程序第一次运行了创建并填充数据库)。现在,使用混合应用程序的解决方案对我来说已经太多了,我需要一个简单而快速解决方案。 替代方法可能是连接到“ Web服务”并将数据下载到应用程序。     

解决方法

        您不能直接从JavaScript代码访问预加载的SQLite数据库-WebKit在内部使用SQLite时,它需要将数据库与其自身的数据结构相关联并管理一些约束。 您可以编写一个混合应用程序,其中您的C / C ++代码只是充当用于访问包含的数据文件的服务器。您可以在混合应用程序中使用该静态版本的SQLite来访问该数据,并将其通过IPC系统发送到JS。该模型类似于设备上的Quickfoffice如何使用混合工具解析MS Word文档并将其表示形式发送到其JS应用程序,从而使用WebKit的呈现引擎对其进行显示。     ,        让该应用创建基本的sqlite文件,然后将其下载到桌面以添加批量数据是否可行?您可能应该先关闭应用程序,然后再将其发送回手机。如果它是日历之类的内置应用程序,则可能会出现问题,因为后台进程可能仍在访问数据库。上载后重启可能会解决该问题。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...