3

我正在研究使用 trigger.io 构建移动应用程序,但我没有找到关于本地数据库选项的好的文档。我的应用程序会将数据发送到外部 API,但需要能够将数据作为草稿在本地存储(如果用户离线,则 API 不可用,无论如何)。

我看到有一个用于存储数据的prefs 模块,但它似乎不是正确的(如果我错了,请纠正我)。这里推荐什么选项?有没有类似于PhoneGap 的 SQLite 插件的东西?

4

1 回答 1

5

这可能取决于您的使用模式。

例如,forge.prefs如果您想做任何有趣的查询,可能会有点繁琐,但如果您只想保留单个 JavaScript 对象结构,则可以很好地工作。使用window.localStorage可能有类似的优点/缺点。

或者,您可以在 JavaScript 中使用 WebSQL API:http: //docs.trigger.io/en/v1.4/release-notes.html#v1-3-5。您不需要为此使用模块,它应该适用于使用 Forge 构建的任何 Android 或 iOS 应用程序。这实质上为您提供了一个可从 JavaScript 访问的 SQLite 数据库。为了让您对 API 有所了解,下面是一个示例:

// create db
var db = openDatabase('mydb', '1.0', 'example database', 2 * 1024 * 1024);
db.transaction(function (tx) {
    tx.executeSql('CREATE TABLE IF NOT EXISTS foo (id unique, text)');
    tx.executeSql('INSERT INTO foo (id, text) VALUES (1, "foobar")');
});

// query db
db.transaction(function (tx) {
    tx.executeSql('SELECT * FROM foo', [], function (tx, results) {
        var rows = results.rows;
        for (var i = 0; i < rows.length; ++i) {
            forge.logging.info("row text: " + rows.item(i).text);
        }
    });
});

你应该可以在网上找到一些关于的教程!

于 2013-04-17T14:18:11.207 回答