2

我正在开发一个使用phonegap/cordova 2.2并希望将数据存储在 sql 类型数据库中的网络应用程序,但似乎由于html5尚未记录在案,并且存在三种竞争方法来保存大量数据,因此我应该使用哪种方法令人困惑。任何人都可以帮忙吗?

4

3 回答 3

2

您可以在此处查看存储文档:http: //docs.phonegap.com/en/2.3.0/cordova_storage_storage.md.html#Storage

对于查询语法,您可以查看 sqlite.org

HTML5 DB 在 iOS 和 Android 上运行顺畅,但在 Blackberry 中存在一些问题。Window Phone 7 不支持 HTML5 DB。

您可以在以下位置查看适用于 SQLite 的 PhoneGap 插件:

https://github.com/brodyspark/PhoneGap-sqlitePlugin-iOS

https://github.com/brodyspark/PhoneGap-SQLitePlugin-Android

https://github.com/marcucio/Cordova-WP-SqlitePlugin (WP8+)

于 2013-01-14T10:48:31.680 回答
2

另请查看我自己的图书馆https://bitbucket.org/ytkyaw/ydn-db/wiki/Home。该库支持 iOS、Android 和 Windows Phone 8。

目标

漂亮的数据库 API,用于安全、健壮、高性能、可维护的大型 javascript Web 应用程序。

特征

  • 支持 IndexedDB、WebSQL 和 WebStorage 存储机制。
  • 支持异步 IndexedDB API 的所有功能。
  • 经过良好测试的闭包库模块。
  • 固定模式、自动版本控制、动态模式生成,同时保持多个连接(在选项卡或工作线程上)。
  • 低级游标迭代,高级查询
  • 每个方法调用都是一个原子事务,同时支持事务和高级事务工作流。
  • 我们采用严格的 javascript 编码模式:没有全局,没有 eval,没有错误通配,参数化查询,所有公共方法和构造函数都是强类型,this is this,编码错误抛出错误。
  • JQuery 插件可用(见下载部分)。

基本用法

var db = new ydn.db.Storage('db name');
db.put('store1', {test: 'Hello World!'}, 123);
db.get('store1', 123).done(function(value) {
  console.log(value);
}

文件资料

于 2013-01-14T13:29:43.093 回答
1

如果您想要一个关系数据库选项,但又关心 WebSQL(该标准已被放弃并且未在许多浏览器中实现),另一个很好的选择是:SequelSphere

它是一个 100% 的 HTML5/JavaScript 关系数据库,可以跨浏览器工作,并使用 IndexedDB 或本地存储来保存数据。在 PhoneGap/Cordova 中,它将使用 IndexedDB,从而使您能够以允许 SQL 查询的关系方法存储“大量”数据。它是它自己的数据库引擎,不依赖于内置的(WebSQL)关系数据库。因此,如果您想将您的应用程序移植到其他地方,它也可以在所有浏览器和平台上运行。

它的 API 可在以下网站上轻松获得:

于 2013-01-15T14:22:38.570 回答