Метод GWT и JSNI для доступа к базе данных Web SQL - PullRequest
0 голосов
/ 17 ноября 2011

Я пытаюсь закодировать метод 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, потому что сообщение "testing" никогда не появляется, но я не получаю никакой ошибки.

Сначала я подумал, что это проблема размещения $ wnd, даже пытался сделать $ wnd.db.transaction, но ничего не получалось. Кажется, что openDatabase работает, по крайней мере, БД отображается как объект базы данных. Что я делаю не так?

1 Ответ

0 голосов
/ 18 ноября 2011

Боюсь, это не тот ответ, которого вы ожидали, но оболочка WebSQL в GWT уже давно доступна как часть проекта gwt-mobile-webkit: http://code.google.com/p/gwt-mobile-webkit/ (называемая "Database API" в их документы)

...