我正在尝试使用Cordova / Phonegap 3.5构建跨平台移动应用程序。
首先,我正在尝试使用带有Android SDK的Eclipse创建Android版本。
其中一个要求是我希望我的应用程序附带一些数据库表格,并预先填充了一些数据。
到目前为止,我已尝试过各种各样的东西,但似乎没有任何工作。
这是我到目前为止所做的:
我用github.com/jgilfelt/android-sqlite-asset-helper创建了数据库:
public class MyDatabase扩展SQLiteAssetHelper { private static final String DATABASE_NAME =“database_name”; private static final int DATABASE_VERSION = 1; public MyDatabase(Context context){ super(context,DATABASE_NAME,null,DATABASE_VERSION); } }
在我的主要活动中,我只是调用上面的类,以确保执行它。这是正确的方法吗?
在我的HTML文件中,我正在尝试打开数据库并对其进行一些操作,如下所示:http://docs.phonegap.com/en/3.1.0/cordova_storage_storage.md.html#Storage
根据上面的文档,window.openDatabase()
函数调用应该返回现有的sqlite数据库,并给我一个句柄来进一步处理它。
但这似乎并没有发生。当我运行我的应用程序时,它不会在LogCat控制台上给我任何错误,但它也找不到我预先填充的数据库。
注释
使用Cordova 3.5,我没有使用任何外部sqlite插件,因为它应该是在这个版本内置。这是对的吗?
作为附注 - 如何浏览我的Android设备(Nexus 7平板电脑)以实际验证数据库是否已创建?
非常感谢您的帮助。
答案 0 :(得分:0)
虽然这个问题已经过时了......认为它可能会帮助某人发布我的解决方案 - 发现于2017年。(由于PhoneGap已经发生变化,旧的解决方案可能不再适用或在Android和Apple应用市场上被接受。)I长期处理这个问题 - 关于如何导入预先填充的数据库的问题 - 没有很多简单的解决方案。我找到了最好的 - 目前只是唯一的解决方案是LiteHelpers CORDOVA-SQLITE-EXT(https://github.com/litehelpers/cordova-sqlite-ext)
我已将此添加到我的应用中并且运行良好。我不得不从PhoneGap切换 - 并使用CORDOVA - 但它对我有用。