在 Phonegap iOS 应用程序中使用预填充数据库

Posted

技术标签:

【中文标题】在 Phonegap iOS 应用程序中使用预填充数据库【英文标题】:Using Prepopulated database in Phonegap iOS application 【发布时间】:2013-11-03 17:54:38 【问题描述】:

我正在开发一个phonegap ios 应用程序,它的android 版本已经推出。我们正在使用预填充数据库将初始数据加载到应用程序。这在 android 应用程序中对我来说效果很好。但是在使用原生 sqlite 插件的 iOS 中,我不知道如何实现它。我尝试了以下方法Phonegap SQLite Plugin Pre-populated Database iOS 但它对我不起作用.. 尝试使用选择查询获取数据时,我总是得到一个数据库未定义错误。我使用了cordova 2.7、3.0、3.1版本,都显示了相同的错误。任何人都可以帮我解决这个问题。我真的坐了很长时间来解决这个问题。不知道是什么问题,可能是我使用的db文件的路径或格式有问题。请指导我

【问题讨论】:

【参考方案1】:

不需要SQLite插件,直接使用内置的WebSQL数据库即可,如下:

var db = window.openDatabase("test", "1.0", "Test DB", 1000000);

然后运行多个 INSERT 查询来插入您的默认数据。

这里的文档:http://docs.phonegap.com/en/3.1.0/cordova_storage_storage.md.html#Storage

【讨论】:

【参考方案2】:

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

我已将此添加到我的应用程序中,并且运行良好。虽然我不得不放弃 PhoneGap - 并使用 CORDOVA - 但它对我有用。

【讨论】:

以上是关于在 Phonegap iOS 应用程序中使用预填充数据库的主要内容,如果未能解决你的问题,请参考以下文章

带有 SQLite 插件的 Phonegap 预填充 SQLite 数据库?与Phonegap 1.2 兼容吗?

Phonegap-iOS 防止 iCloud 上的 Documents 文件夹备份

Phonegap iOS 应用程序 - 使用 csv 或 JSON 创建和填充本地数据库?

iOS 7 预填充的 Core Data 数据库不包含所有数据

是否可以预填充 AWS AppSync iOS 客户端?

编辑在 IOS 应用程序中管理的预填充 sqlite 数据库核心数据