在trigger.io应用程序中可以使用/推荐哪些本地数据库?

时间:2013-04-16 18:53:35

标签: ios sqlite trigger.io

我正在研究使用trigger.io构建移动应用程序,但我找不到有关本地数据库选项的良好文档。我的应用程序将数据发送到外部API,但需要能够在本地存储数据作为草稿(如果用户处于脱机状态,API不可用,等等)。

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

1 个答案:

答案 0 :(得分: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);
        }
    });
});

您应该能够在网上找到一些有关教程的内容!