AndroidでWebコンテンツの表示

AndroidでWebコンテンツの表示

Webコンテンツを表示するには
WebViewクラスのloadUri()を使う

まず、

private WebView mWebView;

でメンバ変数にする

次に、onCreate()の中で

mWebView = new WebView(this);
setContentView(mWebView);

でWebViewが使えるようにする

ただし、このままだとJavascriptが無効なので

mWebView.getSettings().setJavascriptEnabled(true);

でJavascriptを有効にする
そのぶんセキュリティーは落ちるので注意

あとは、表示するWebページを設定

mWebView.setWebViewClient(new WebViewClient());
mWebView.loadUri("http://www.google.co.jp");

あと、WebViewを扱うときには、終了したら破棄する処理も必要

[@Override]
public void onDestroy(){

super.onDestroy();

mWebView.stopLoading();
ViewGroup webParent = (ViewGroup)mWebView.getParent();

if(webParent != null){

webParent.removeView(mWebView);
}
mWebView.destroy();
}
[/java]

これは、AndroidのWebViewは
Javaプログラムだけでなく
ネイティブのCのコードも使っているかららしい

このため、WebViewを明示的に破棄しないと
メモリの解放ができない

このため、Activity.onDestroyハンドラでWebViewクラスの
destroy()を呼んでいる

また、このときに
removeView()でActivityから切り離してから
destroy()を呼ぶこと

これをやらないと
Error: WebViewdestroy() called while still attached
とエラーが発生する

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です