【问题标题】:pre-populate and update the SQLite db from cordova app (iOS and Android)从 cordova 应用程序(iOS 和 Android)预填充和更新 SQLite 数据库
【发布时间】:2014-11-17 06:52:34
【问题描述】:

我正在使用 apache cordova 开发一个 QA 类型的应用程序。并计划在 iOS 和 Android 中使用此应用程序。 QA 表单是 HTML 文件,这些文件应在 iOS 和 Android 应用程序的 Webview 中查看。在应用程序中有许多 QA 表格。每个 QA 表单可能有多个数据输入选项,如文本字段、单选按钮、日期选择器等。所有这些 HTML 表单都有一个提交按钮,当用户点击提交按钮时,数据将使用 Web 服务上传到服务器。

我将在这里解释我的问题。部署应用程序后,HTML 文件可能会发生变化。我想将 HTML 文件中的更新反映到应用程序(iOS 和 Android)中。我可以通过将所有 HTML 内容保存在 SQLite 表中并从 iOS 和 Android 应用程序访问 SQLite 来做到这一点。我的概念是,使用 Web 服务预填充 SQLite 数据库并部署应用程序并根据 HTML 文件中所做的更改更新表。我知道我不能将 SQLite DB 保存在 android 应用程序的资产文件夹中,因为我无法在运行时更新它。如何 p 您对如何使用 HTML 内容预填充 SQLite DB 并在运行时从 iOS 和 Android 应用程序更新它有什么建议吗?

【问题讨论】:

    标签: android ios sqlite cordova


    【解决方案1】:

    是的。您可以通过 Javascript 实时按需创建和编辑 SQLlite DB。将代码放在任何 JS 中,并将 JS 包含在您的应用页面中。下面的示例代码:这是目前在我的 IOS 和 Android 应用程序中使用的代码的一小部分。它不需要 Cordova,但在 Cordova / PhoneGap 应用程序中运行良好。

    var db = window.openDatabase("myDB", "1.0", "my DB", 20000000);  // create / Open SQLite Database
    
    db.transaction(function (tx) { 
                    tx.executeSql('CREATE TABLE IF NOT EXISTS CodeDecode (id INTEGER PRIMARY KEY AUTOINCREMENT, RefTable VARCHAR(10), RefVal VARCHAR(50), SortOrder INT)');
                    tx.executeSql('INSERT INTO CodeDecode (RefTable, RefVal, SortOrder) VALUES ("Type","R",2)');
                    tx.executeSql('INSERT INTO CodeDecode (RefTable, RefVal, SortOrder) VALUES ("Type","H",1)');
                    tx.executeSql('INSERT INTO CodeDecode (RefTable, RefVal, SortOrder) VALUES ("Cal","22",1)');
                    tx.executeSql('INSERT INTO CodeDecode (RefTable, RefVal, SortOrder) VALUES ("Cal","9",2)');
                 });
    

    【讨论】:

      猜你喜欢
      • 2016-10-24
      • 1970-01-01
      • 2021-12-13
      • 2016-10-26
      • 2015-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-24
      相关资源
      最近更新 更多