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 创建和填充本地数据库?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 WebSQL 不适用于使用 PhoneGap 制作的 iOS 应用程序?
PhoneGap——还是别的啥?对于使用 Swipe 和 Pinches 的 iOS 应用程序