WebViewを使ってアプリ内にWeb画面を表示する|Android開発

android.webkit.WebViewを使って、アプリにWeb画面を表示する方法です。

インターネット接続権限の追加

app\src\main\AndroidManifest.xmlに以下の1行を追加します。

<uses-permission android:name="android.permission.INTERNET"/>

レイアウトファイル

レイアウトファイルでWeb画面を表示したい場所にandroid.webkit.WebViewを追加します。

<WebView
    android:id="@+id/my_web_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

Web画面の読み込み

ActivityでWebViewに読み込むURLを指定します。あまり重いサイトだとタイムアウトするので、まずは軽いサイトで試しましょう。

private WebView mWebView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_web);

    mWebView = findViewById(R.id.my_web_view);
    mWebView.setWebViewClient(new WebViewClient());
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.loadUrl("https://www.google.co.jp/");
}

setWebViewClient()

setWebViewClient()を設定することで、リンククリック時にブラウザを起動せずにWebView内で画面遷移するようになります。

setJavaScriptEnabled()

trueを与えることでJavaScriptが有効になります。

loadUrl()

表示する画面のURLを指定します。

実行例

WebView

Backキー処理

Backキーで前の画面に戻るようにする処理です。

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (event.getAction() == KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_BACK) {
        if (mWebView.canGoBack()) {
            // 戻るページがある場合.
            mWebView.goBack();
        } else {
            finish();
        }
        return true;
    }

    return super.onKeyDown(keyCode, event);
}
このエントリーをはてなブックマークに追加
にほんブログ村 IT技術ブログへ

コメント

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