首页 文章

如何使用预先填充的sqlite数据库发送phonegap 3.5应用程序

提问于
浏览
0

我正在尝试使用Cordova / Phonegap 3.5构建跨平台移动应用程序 .

首先,我正在尝试使用Eclipse和Android SDK创建Android版本 .

其中一个要求是我希望我的应用程序附带一些创建的数据库表,并预先填充了一些数据 .

到目前为止,我已经尝试了各种各样的东西,但似乎没有任何工作 .

这是我到目前为止所做的:

  • 使用Windows上的sqlite3命令行实用程序在其中创建了包含数据的数据库和表 . 结果我得到了我的mydb sqlite数据库文件 .

  • 我已将此db文件放在assets / databases文件夹下,如许多帖子所示 .

  • 我使用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平板电脑)以实际验证数据库是否已创建?

非常感谢您的帮助 .

1 回答

  • 0

    虽然这个问题很老......认为它可能会帮助某人发布我的解决方案 - 发现于2017年 . (由于PhoneGap已经改变,旧的解决方案可能不再适用或在Android和Apple应用程序市场上被接受 . )我在此工作问题很长一段时间 - 关于如何导入预先填充的数据库的问题 - 没有很多简单的解决方案 . 我找到了最好的 - 目前只是唯一的解决方案是LiteHelpers CORDOVA-SQLITE-EXT(https://github.com/litehelpers/cordova-sqlite-ext

    我已将此添加到我的应用程序中并且运行良好 . 我不得不从PhoneGap切换 - 并使用CORDOVA - 但它对我有用 .

相关问题