1

データベースを必要とする phonegap アプリを開発しています。

いくつかのページでデータベースを処理しますが、アプリの最初の実行時にデータベースがいっぱいになります。コードは Android バージョン 2.XX では正常に動作しますが、Android バージョン 4.XX では失敗します。

var db = window.openDatabase("Database", "1.0", "Database", 500000);

openDatabase 関数に問題がある可能性があることを読みましたが、私のアプリではいくつかのページで機能しますが、このページでは機能しません! 失敗するのは常にこの行です。

このページの logCat 出力には、次のように記載されています。

Uncaught TypeError: Object [object DOMWindow] has no method 'openDatabase' at file

私が言うように、他のページでは機能しますが、このページでは機能しません。他のページと同じように動作するように書き直したり、それを処理するためにまったく新しいページを書いたりしましたが、最終的には常にまったく同じ1行になります。

はい、phonegaps javascript がインポートされます。

4

1 に答える 1

1

私は同じ問題を抱えていましたが、私にとってうまくいった解決策は、「deviceReady」イベントハンドラーでopenDatabaseを使用することです。

document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() {
    db = window.openDatabase("Database", "1.0", "DBNAME", 200000);
    db.transaction(populateDB, errorCB, successCB);
}
于 2013-05-15T16:28:24.830 に答える