当前位置: 首页 > 知识库问答 >
问题:

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

叶桐
2023-03-14

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

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

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

到目前为止,我已经尝试了各种方法,但似乎都不起作用。

以下是我迄今为止所做的工作:

>

  • 使用windows上的sqlite3命令行实用程序创建了一个数据库和包含数据的表。因此,我得到了我的mydb sqlite数据库文件。
  • 正如许多帖子所建议的那样,我已将此db文件放在资产/数据库文件夹下。
  • 我用github.com/jgilfelt/android-sqlite-asset-helper创建DB:

    public类MyDatabase扩展了SQLiteAssetHelper{private static final String DATABASE\u NAME=“DATABASE\u NAME”;private static final int DATABASE\u VERSION=1;public MyDatabase(Context Context){super(Context,DATABASE\u NAME,null,DATABASE\u VERSION);}}}

    在我的主要活动中,我只是调用上面的类,以确保它得到执行。这是正确的方法吗?

    在我的超文本标记语言文件中,我试图打开数据库并对其进行一些操作,如下所示:http://docs.phonegap.com/en/3.1.0/cordova_storage_storage.md.html#Storage

    按照上面的留档,window.openDatabase()函数调用应该返回现有的sqlite数据库,并给我一个句柄来进一步使用它。

    但这似乎没有发生。当我运行我的应用程序时,它在LogCat控制台上没有给我任何错误,但它也没有找到我的预填充数据库。

    注意事项

    在Cordova3.5中,我没有使用任何外部sqlite插件,因为它应该内置在这个版本中。这是正确的吗?

    附带说明-如何浏览我的Android设备(Nexus 7平板电脑)以实际验证数据库是否已创建?

    非常感谢你的帮助。

  • 共有1个答案

    刘浩思
    2023-03-14

    虽然这个问题很老……但我认为这可能有助于有人发布我的解决方案——发现于2017年。(由于PhoneGap发生了变化,旧的解决方案可能不再适用于Android和苹果应用程序市场,或者在Android和苹果应用程序市场上不再被接受。)我长期致力于这个问题——关于如何导入预填充数据库的问题——没有很多简单的解决方案。我发现最好的解决方案是LiteHelpers CORDOVA-SQLITE-EXT,目前几乎是唯一的解决方案(https://github.com/litehelpers/cordova-sqlite-ext)

    我已经把这个添加到我的应用程序中,它运行得很好。虽然我不得不改用PhoneGap,使用CORDOVA,但它对我来说很管用。

     类似资料:
    • 问题内容: 我想将我的ios应用程序(用swift编写)与预先填充的sqlite数据库一起发货,该数据库将通过与服务器同步进行更新。在android中,我可以将db从assests文件夹移动到数据库和volla,但是在ios中,我很安静,我该如何实现呢? 谢谢 问题答案: 在iOS中,您可以将数据库添加到ProjectSupporting文件中。这将与二进制文件一起添加,然后您就可以访问它并进行复

    • //内容提供程序代码 公共静态最终字符串授权=“com.battlestarMathematica.stayfresh.pantryprovider”; //游标加载程序代码

    • 我想使用预先填充的数据库的房间,但我不明白如何告诉房间在哪里找到我的数据库。 现在我将它放在中,当我为房间数据库创建实例时,我是这样创建的: 这样一来,我认为它每次都在创建一个新的数据库,或者说,它没有使用预填充的数据库。 我怎样才能找到我的数据库?

    • 问题内容: 我正在编写Web应用程序,并且想知道推荐的填充原始数据的方法是什么。这是JPA / Hibernate和Spring应用程序,由maven构建。到目前为止,我已经使用脚本将手工数据填充到数据库中,并填充了初始数据。 单元测试使用自己的数据,这些数据是在每次测试之前用代码创建的。我的测试类扩展了 org.springframework.test.jpa.AbstractJpaTests

    • 问题内容: 我一直在尝试使用从数据库查询的数据加载TableView,但似乎无法使其正常工作。 这是我第一次尝试用数据库查询项填充数据库的情况,以防我的代码看起来杂乱无章,而且效果不佳。 FXML是通过JavaFx SceneBuilder完成的。 这是数据库查询类: 这是通过JavaFx场景生成器生成的FXML脚本: 问题答案: 这是将数据从数据库填充到tableView的最佳解决方案。 这是参