【问题标题】:How to implement database in PhoneGap App ?如何在PhoneGap App 中实现数据库?
【发布时间】:2013-05-04 00:52:02
【问题描述】:

我是新手,我正在尝试构建一个应用程序,以便与 PhoneGap 一起部署到 Android 和 iOS。 我想知道如何链接到将存储时间表数据的数据库。

我的问题是如何包含数据库,以便它可以与 PhoneGap 打包。

我查看了 PhoneGap 文档,但对于如何设置/创建数据库,它们对我来说并没有什么意义


更新: 该网站显示了有关本地存储的一些信息,但是当我将其放入时,会挂在加载图像上。

还有什么想法吗?

http://www.aquim.com/web-article-237.html

【问题讨论】:

  • 你有没有找到我们可以在 db for android 中看到我们的数据的地方

标签: android ios cordova


【解决方案1】:

关于 Sq-lite 的简单操作请参考以下链接。也可以从上面link 了解 Storage API 的基本概念。

使用 Sql-lite 的简单操作: http://www.raymondcamden.com/index.cfm/2011/10/20/Example-of-PhoneGaps-Database-Support

2013 年 5 月 8 日编辑,2016 年 1 月 19 日修复

数据库的基本操作:

<script type="text/javascript" charset="utf-8" src="cordova-x.x.x.js"></script>
<script type="text/javascript" charset="utf-8">
// Wait for Cordova to load
document.addEventListener("deviceready", onDeviceReady, false);

// Cordova is ready
function onDeviceReady() {
    var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
    db.transaction(populateDB, errorCB, successCB);
}

// Populate the database 
function populateDB(tx) {
    tx.executeSql('DROP TABLE IF EXISTS DEMO');
    tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)');
    tx.executeSql('INSERT INTO DEMO (id, data) VALUES (1, "First row")');
    tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")');
}

// Transaction error callback
function errorCB(err) {
    alert("Error processing SQL: " + err);
}

// Transaction success callback
function successCB() {
    alert("success!");
}
</script>

refrence

您可以在文件资源管理器中查看数据库

在 ADT 包中 窗口>>显示视图>>文件资源管理器

【讨论】:

  • 我已经尝试过了,但是当我在 PhoneGap 中构建应用程序并将其部署到 Android 设备时,没有一个数据库工作,我尝试了link 以及上面的那些,使用同样的结果。任何 html/css 都可以正常工作。
  • 请参考DB的基本操作。
  • 我现在对 SQL 更熟悉了,所以它现在看起来可以工作了,很快就会实现。谢谢
  • 是否有可能找到我们可以在 db for android 中查看数据的位置
  • 页面打不开请给个赞
【解决方案2】:

PhoneGap 有一个存储 api,您应该使用它而不是直接使用 HTML5 本地存储。在 Android 和 iOS 上,它将使用本机实现。

http://docs.phonegap.com/en/2.7.0/cordova_storage_storage.md.html#Storage

【讨论】:

  • 我试过了,但是和上面的评论一样,我没有得到数据库结果。
  • 也许您可以更具体一些 - 请显示您的代码并准确告诉我们行为/结果是什么。
  • 在最新版本中是否已弃用?我在最新的 docs.phonegap.com/en/3.4.0/… 中找不到类似的文档。相反,它建议使用基于 HTML 5 的存储
【解决方案3】:

小心,因为 Android Gingerbread 2.3.3 模拟器中数据库的 maxSize 必须为 65535。

使用此 OS 200000 maxSize 可能会出错。

200000 maxSize 适用于较新的操作系统。

【讨论】:

    猜你喜欢
    • 2011-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多