Android
 Computer >> コンピューター >  >> プログラミング >> Android

AndroidアプリでWebViewを作成する方法を解説!初心者向けサンプルコード付き

AndroidアプリでWebViewを作成する方法

本記事では、Androidアプリ内にWebViewを作成してWebページを表示する方法を、サンプルコード付きでわかりやすく解説します。WebViewを利用すると、アプリの中にブラウザ表示エリアを組み込むことができます。


ステップ1:新規プロジェクトの作成

Android Studioで新しいプロジェクトを作成します。メニューから「File」⇒「New Project」を選択し、必要な項目をすべて入力してプロジェクトを作成してください。

ステップ2:レイアウトファイル(res/layout/activity_main.xml)の編集

res/layout/activity_main.xmlに以下のコードを追加します。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    android:id="@+id/parent"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <WebView
        android:id="@+id/webView"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    </WebView>
</RelativeLayout>

ステップ3:MainActivity.javaの編集

src/MainActivity.javaに以下のコードを追加します。

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends AppCompatActivity {
    private WebView webView;

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

        WebView webView = (WebView) findViewById(R.id.webView);
        webView.setWebViewClient(new WebViewClient());
        webView.loadUrl("https://www.google.com");

        WebSettings webSettings = webView.getSettings();
        webSettings.setJavaScriptEnabled(true);
    }

    public void onBackPressed() {
        if (webView.canGoBack()) {
            webView.goBack();
        } else {
            super.onBackPressed();
        }
    }
}

このコードのポイントは次のとおりです。
setWebViewClient():外部ブラウザではなくアプリ内でリンクを開くために設定します。
loadUrl():読み込みたいURLを指定します(ここではGoogleのトップページ)。
setJavaScriptEnabled(true):多くのWebサイトで必須となるJavaScriptを有効にします。
onBackPressed():戻るボタンが押された際に、閲覧履歴があれば前のページへ戻るように制御しています。

なお、新しいAndroid Studioのプロジェクトではサポートライブラリが非推奨となっているため、インポート文はandroidx.appcompat.app.AppCompatActivityに置き換えて使用してください。

ステップ4:AndroidManifest.xmlへの権限追加

androidManifest.xmlに以下のコードを追加します。WebViewでインターネット上のページを読み込むためには、INTERNETパーミッションの宣言が必要です。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android" package="app.com.sample">
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

アプリの実行と動作確認

それではアプリケーションを実行してみましょう。ここでは、実際のAndroidスマートフォンがパソコンに接続されているものとします。Android Studioからアプリを実行するには、プロジェクト内のアクティビティファイルのいずれかを開き、ツールバーの「Run」アイコンをクリックします。実行デバイスとして接続したモバイル端末を選択すると、端末の画面に以下のようにWebページが表示されます。

AndroidアプリでWebViewを作成する方法を解説!初心者向けサンプルコード付き

AndroidアプリでWebViewを作成する方法を解説!初心者向けサンプルコード付き

まとめ

以上の手順で、レイアウトへのWebView配置、ActivityでのURL読み込みとJavaScript有効化、そしてマニフェストへのインターネット権限追加という、WebView実装に必要な基本要素がすべて揃います。応用すれば、自社サイトの表示やアプリ内ヘルプページなど、さまざまなシーンで活用できますので、ぜひ試してみてください。

  1. 【Android】XMLファイルを使ってアニメーションを作成する方法をわかりやすく解説

    この記事では、AndroidアプリにおいてXMLファイルを使用してアニメーションを作成する方法を、実際のコード例とともに段階的に解説します。View Animation(Tween Animation)は、res/animディレクトリに配置したリソースファイルとして定義できるため、フェードインやズーム、点滅といった演出をJava側のコードをほとんど書かずに実現できるのが特徴です。 ステップ1:新規プロジェクトの作成 Android Studioを起動し、メニューから「File」⇒「New Project」を選択して新しいプロジェクトを作成します。ウィザードに従って必要な情報を入力し、プロジェク

  2. Androidのホーム画面にショートカットを作成する方法【サイト・ブックマーク・ファイル対応】

    スマホにすでにインストール済みのアプリをホーム画面に追加する方法は、多くの方がご存じでしょう。アプリドロワー(アプリ一覧)を開き、アプリアイコンを長押ししてつかみ、好きなホーム画面までドラッグするだけです。しかし、特定のフォルダやWebページ、ブックマーク一覧などへの「アプリのようなショートカット」を作りたいと思ったことはありませんか?その場合は、もう少し踏み込んだ操作が必要になります。この記事では、Androidであらゆるものへのホーム画面ショートカットを作成する方法をわかりやすくご紹介します。Webサイトへのショートカットを作成するWebサイトへのショートカット作成はとても簡単です。Chr