【Android Studio】コピペで使えるWebViewの導入方法

# はじめに
Android StudioでWebViewを使いたいけど、使い方がよくわからないという人向けにコピペで使えるWebViewの導入方法を作成しました。本記事通りに作業を進めることで、Androidアプリ上でGoogle.comを開くことができます（言語はjavaを使用しています）。

# 導入方法

New Project -> Empty Views Activityを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3287818/02601b1b-4ff8-d316-763e-f9f00580fa16.png)

以下の通りプロジェクト作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3287818/d7b2b161-91c9-a5bd-de95-cb8f7ccfa67e.png)

res/layout/activity_main.xmlを以下の通り編集(画面上部のcodeボタンからコードを編集できます)
```
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <!-- 追加 -->
    <WebView
        android:id="@+id/webView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</androidx.constraintlayout.widget.ConstraintLayout>
```

以下の通りmanifests/AndroidManifest.xmlを編集
```
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

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

    <application
        android:allowBackup="true"
        android:dataExtractionRules="@xml/data_extraction_rules"
        android:fullBackupContent="@xml/backup_rules"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.WebView"
        tools:targetApi="31">
        <activity
            android:name=".MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
```

以下の通りMainActivity.javaを編集
```
package com.example.webview;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Context;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;

public class MainActivity extends AppCompatActivity {

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

        Context activityContext = this; 

        WebView myWebView = new WebView(activityContext);
        WebSettings webSettings = myWebView.getSettings();
        webSettings.setJavaScriptEnabled(true);

        setContentView(myWebView);
        myWebView.loadUrl("https://www.google.co.jp");
    }
}
```

build.gradleを以下の通り編集（編集後に電球マークをクリック -> sync nowを押して同期を行ってください）
```
android {
    namespace = "com.example.webView"
    compileSdk = 34

    defaultConfig {
        applicationId = "com.example.webView"
        minSdk = 24
        targetSdk = 33
        versionCode = 1
        versionName = "1.0"

        testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            isMinifyEnabled = false
            proguardFiles(
                getDefaultProguardFile("proguard-android-optimize.txt"),
                "proguard-rules.pro"
            )
        }
    }
    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
    }
}
```

アプリを起動するとGoogleにアクセスできるようになります
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3287818/d0c483cb-600d-dbc5-02bc-555ea9859260.png)

# 参考文献
- [WebView でのウェブアプリの作成](https://developer.android.com/guide/webapps/webview?hl=ja#java)