読者です 読者をやめる 読者になる 読者になる

【Android】WebView WEBページを表示する

 

WebViewを使えば、

WEBページを表示することができます。

 

f:id:stanleyblenz:20161105182227p:plain

 

 

---------------------------------------------------------------------------------------------------------

AndroidManifest.xml  ※パーミッションを忘れずに

<?xml version="1.0" encoding="utf-8"?>
  <manifest xmlns:android="http://schemas.android.com/apk/res/android">
  <uses-permission android:name="android.permission.INTERNET"/>

  ~

</manifest>

---------------------------------------------------------------------------------------------------------

MainFragment.java

WebView wv;
public View onCreateView(LayoutInflater inflater,

            ViewGroup container,

            Bundle savedInstanceState) {
  View v = inflater.inflate(R.layout.webview1, container, false);
  wv = (WebView)v.findViewById(R.id.webview1);

  //JavaScript許可

  wv.getSettings().setJavaScriptEnabled(true);

  //Webページを標準ブラウザで起動しない
  wv.setWebViewClient(new WebViewClient());

  //Webページ表示
  wv.loadUrl("http://www.yahoo.co.jp/");

  //キーイベントリスナー
  wv.setOnKeyListener(this);


  return v;
}

@Override
public void onDetach() {
  super.onDetach();
  //後片付け(メモリリーク防止)
  wv.stopLoading();
  wv.setWebChromeClient(null);
  wv.setWebViewClient(null);
  wv.destroy();
  wv = null;
}

@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
  // 端末の戻るボタンでブラウザバック
  //(KeyEvent.ACTION_UP クリックの際にDownとUpの2つのイベントが飛ぶので

  //片方のみ拾う)
      if (event.getAction() == KeyEvent.ACTION_DOWN &&

    keyCode == KeyEvent.KEYCODE_BACK &&

      wv.canGoBack()) {
    wv.goBack();
    return true;
  }
  return false;
}