GWT和JSNI方法访问Web SQL数据库

时间:2011-11-17 15:35:48

标签: html5 gwt jsni

我试图编写一个JSNI方法来将内容插入到HTML5数据库中,因为显然没有适用于最新版本的GWT插件。我有这个非常简单的代码,它在GWT之外完美运行:

public static native void database() /*-{
        var db;
        db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);
        var msg;
        db.transaction(function (tx) {
          $wnd.alert("testing");
          tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)');
          tx.executeSql('INSERT INTO LOGS (id, log) VALUES (7, "foobar")');
          tx.executeSql('INSERT INTO LOGS (id, log) VALUES (8, "logmsg")');
          $wnd.alert("inserted");
        });
}-*/;

似乎GWT没有输入db.transaction位,因为"测试"消息永远不会出现,但我没有收到任何错误。

我起初认为这是一个$ wnd贴片问题,甚至尝试过$ wnd.db.transaction,但没有任何效果。 openDatabase似乎正在工作,至少db显示为数据库对象。我做错了什么?

1 个答案:

答案 0 :(得分:0)

不是你所期待的答案我害怕,但作为gwt-mobile-webkit项目的一部分,GWT中的WebSQL包装器可以使用很长时间:http://code.google.com/p/gwt-mobile-webkit/(在他们的名字中称为“数据库API”)文档)