Android Доступ к встроенной базе данных sql lite из HTML5 - PullRequest
2 голосов
/ 15 сентября 2011

Врезаться в главную кирпичную стену здесь. У меня есть база данных, которую мне нужно упаковать в базу данных sql lite. Мне также нужно иметь возможность запрашивать эту базу данных из веб-просмотра в javascript. При попытке сделать запрос к базе данных в javascript, sql lite возвращает код ошибки 1 с сообщением «нет такой таблицы». Есть идеи?

Вот код js

    var database = window.openDatabase("testdb5", "", "main total", 1024 * 1024);

        if (database)
            document.write('got');

        database.transaction(function (tx) {
            tx.executeSql("SELECT * FROM testtable", [], function (tx, result) {
                for (var i = 0, item = null; i < result.rows.length; i++) {
                    item = result.rows.item(i);
                    document.write(item.name);
                }
            });
        });

Вот соответствующая Java:

    WebSettings settings = myWebView.getSettings();
    settings.setJavaScriptEnabled(true);
    settings.setDatabaseEnabled(true);

    //String databasePath = this.getApplicationContext().getDir("database", Context.MODE_PRIVATE).getPath();
    String databasePath ="/data/data/com.example.helloandroid/databases/";
    settings.setDatabasePath(databasePath);

    myWebView.setWebChromeClient(new WebChromeClient() {
            @Override
            public void onExceededDatabaseQuota(String url, String databaseIdentifier, long currentQuota, long estimatedSize,
                    long totalUsedQuota, WebStorage.QuotaUpdater quotaUpdater) {
                    quotaUpdater.updateQuota(estimatedSize * 2);
            }
    });

Отстой, что на это нет документации! Буду признателен за любую оказанную помощь.

1 Ответ

0 голосов
/ 16 сентября 2011

Это безнадежно. Ради потомков я решил просто создать интерфейс javascript и вызывать методы, которые изначально взаимодействуют с базой данных sql lite.

Единственная проблема с этим решением заключается в том, что мой код не будет таким переносимым. Мне нужно будет найти какое-нибудь хакерское решение, чтобы поставить его на IOS ... Такова жизнь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...