4

私はモバイルアプリに取り組んでいます。そのために、Phonegapでhtml5/jsを使用しています。window.openDatabase(...)を使用してローカルデータベースにデータを保存します。

これはAndroid2.xで正常に機能しますが、Android 4.0.3で試してみると、次のエラーが発生します。 D/CordovaLog(698): Uncaught TypeError: Object [object DOMWindow] has no method 'openDatabase'

私のコードは:

if (!window.openDatabase)
    alert("Error: can't open local database");
if (!localStorage)
    alert("Error: localstorage not usable");

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

それがどこから来たのか、そして私がそれをどのように解決できるのか、あなたは考えていますか?前もって感謝します。

よろしくお願いします、Vi。

4

3 に答える 3

2

http://androidforums.com/application-development/103644-why-doesnt-work-javascript-opendatabase-android.htmlによると、Androidはwindow.OpenDatabase()最初からメソッドをサポートしてきました。このStackOverflowスレッドを見たいと思うかもしれません:Android4.0.1はWebViewHTML 5ローカルストレージを壊しますか?

于 2012-08-23T04:57:27.793 に答える
0

phonegap libを(バージョン2.0に)更新することで問題を解決しました。.jarにはバージョン1.9があり、.jsファイルには常に古いバージョンのバージョン1.4を使用していました。

DroidGap.javaの一部のバージョンで、WebViewからのWebSettingsの構成がデータベースをアクティブ化しないことがわかりました。しかし、おそらくそれは私が.jslibの非常に古いバージョンを持っていたからです。

だから今、それは大丈夫のようです。

ご協力いただきありがとうございます。

于 2012-08-23T09:50:34.993 に答える
0

これを調べたところ、推定サイズの大きいデータベースを開こうとした(作成した)ことが原因であることがわかりました。

5kb(5 * 1024)から始めて、5Mb(5 * 1024 * 1024)に移動します。

var db = window.openDatabase('mydb', '1.0', 'Test DB', 5 * 1024);

于 2016-11-15T11:21:07.520 に答える