はまったはまった。
WebViewでHTML5のWeb Database試したかっただけなのに。
2日間で計8時間くらいかかりました。(--;
まとめ。
以下、動作したActivityのmainクラスそのまま。
package my.app.travelNote;
import java.io.File;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebStorage;
import android.webkit.WebStorage.QuotaUpdater;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class main extends Activity {
WebView mWebView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mWebView = (WebView) findViewById(R.id.webview);
String databasePath = this.getApplicationContext().getDir("database", Context.MODE_PRIVATE).getPath();
WebSettings settings = mWebView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setJavaScriptCanOpenWindowsAutomatically(true);
settings.setDatabaseEnabled(true);
settings.setDatabasePath(databasePath);
mWebView.setWebChromeClient(new MyWebChromeClient());
mWebView.loadUrl("file:///android_asset/html/index.html");
}
final class MyWebChromeClient extends WebChromeClient {
@Override
public void onExceededDatabaseQuota(String url,
String databaseIdentifier, long currentQuota,
long estimatedSize, long totalUsedQuota,
QuotaUpdater quotaUpdater) {
quotaUpdater.updateQuota(10 * 1000 * 1000);
}
}
また、登録したデータベースを確認するには
eclipseで
[Window]-[Show View]-[Other]-[File Explorer]でFile Explorerビューを表示。