【问题标题】:Phonegap iOS app - create and populate local database with csv or JSON?Phonegap iOS 应用程序 - 使用 csv 或 JSON 创建和填充本地数据库?
【发布时间】:2011-04-05 21:12:06
【问题描述】:

我使用 jQuery 和 JQTouch 为 iOS 创建了一个 phonegap 应用程序。信息从测试数据库中提取并显示在 iPhone 模拟器的网页上。但是为了让它工作,我预先制作/填充了数据库并手动将其复制到正确的文件夹中,以便我可以在我的代码中连接到它。

当安装在我的 iPhone 上进行测试时,我需要在第一次运行时创建数据库并在代码中填充它(最终,这种方法应该使其与 android 兼容,而不是尝试在 Objective C 中手动复制数据库,如下例所示: http://groups.google.com/group/phonegap/browse_thread/thread/ca6c85f7d6c3976c/017cdbf51c70585a)。我的想法是将信息从平面 CSV 文件或 JSON 对象(包含在包中)中提取到本地数组中,然后创建数据库表,并遍历数组将信息插入数据库。

这是一种明智的做法吗?我正在努力实现最小的复杂性!创建和维护我的问题的 CSV 文件似乎比 JSON 文件更容易(这似乎增加了额外的复杂性) - 有什么想法吗?最后,有没有人知道如何从 CSV 文件中提取信息?我发现这个 JQuery 库 (http://code.google.com/p/js-tables/wiki/CSV) 看起来很有希望 - 有没有更好的方法?

感谢您的帮助,在获得建议之前我不想介入!尼克

【问题讨论】:

  • 对于遇到此问题的任何人,我找到了我的 CSV 问题的答案:stackoverflow.com/questions/455606/…
  • 我认为你在 JSON 中,所以从 JSON 出来到 csv 然后需要在某个时候返回到 JSON ......

标签: jquery database json cordova jqtouch


【解决方案1】:

首先,考虑数据库文件的大小。在模拟器和桌面浏览器中进行的测试与您在设备上遇到的几乎不同。我发现 5meg 的文本文件在旧设备上是无法容忍的。

其次,我主张始终使用 json,因为它在 JS 中更容易使用,并且您不需要使用外部库。

您可能会考虑的一种方法是将“数据库记录”存储在捆绑到您的应用程序包中的文件中。然后,当您需要“记录”时,您可以使用 ajax 抓取文件、读取文件、将其存储在本地数据库中以供以后使用等。

$.ajax({
          url: asset_path + "/" + filename,
          success : function(data) {
                // data is your json object
          },
          error : function(request,error) {
                // file not found
          },
          async: false,
          dataType: "json"
        });

与包含所有字符串处理和括号等的 CSV 相比,如果您生成 json 文件,则文件大小可能会有些开销。

如果这是进入 Phonegap 包或被放入应用包中,这些文件将被压缩以帮助减少大小。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-20
    • 1970-01-01
    • 1970-01-01
    • 2012-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-07
    相关资源
    最近更新 更多