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

Posted

技术标签:

【中文标题】Phonegap iOS 应用程序 - 使用 csv 或 JSON 创建和填充本地数据库?【英文标题】:Phonegap iOS app - create and populate local database with csv or 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 问题的答案:***.com/questions/455606/… 我认为你在 JSON 中,所以从 JSON 出来到 csv 然后需要在某个时候返回到 JSON ...... 【参考方案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 包或被放入应用包中,这些文件将被压缩以帮助减少大小。

【讨论】:

以上是关于Phonegap iOS 应用程序 - 使用 csv 或 JSON 创建和填充本地数据库?的主要内容,如果未能解决你的问题,请参考以下文章

使用 WebGL 的 iOS PhoneGap 应用

为啥 WebSQL 不适用于使用 PhoneGap 制作的 iOS 应用程序?

PhoneGap——还是别的啥?对于使用 Swipe 和 Pinches 的 iOS 应用程序

使用 phonegap(ios) 调用 Web 服务

如何使用 phonegap 成为整个原生 ios 应用程序的一部分

使用 phonegap 探索 ios 目录