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

fdo*_*dot 3 sqlite ios trigger.io

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

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

mon*_*onk 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);
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

你应该能够在网上找到一些关于它的教程!