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

KotlinでAndroidアプリのメールアドレスを検証する方法を徹底解説

この記事では、Kotlinを使用してAndroidアプリでメールアドレスの形式を検証(バリデーション)する方法を、実際のサンプルコードとともにわかりやすく解説します。正規表現パターンを活用したシンプルな実装手法を、ステップごとに学んでいきましょう。

メールアドレス検証の実装手順

ステップ1:Android Studioで新規プロジェクトを作成する

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

ステップ2:レイアウトファイル(activity_main.xml)にコードを追加する

res/layout/activity_main.xml に以下のコードを記述します。メールアドレスを入力するための EditText と、検証を実行する Button を配置しています。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="8dp"
    tools:context=".MainActivity">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="50dp"
        android:text="Tutorials Point"
        android:textAlignment="center"
        android:textColor="@android:color/holo_green_dark"
        android:textSize="32sp"
        android:textStyle="bold" />
    <EditText
        android:id="@+id/editText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:hint="Enter Email Address" />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/editText"
        android:layout_alignParentEnd="true"
        android:layout_marginTop="5dp"
        android:onClick="validateEmail"
        android:text="Validate" />
</RelativeLayout>

ステップ3:MainActivity.ktに検証ロジックを追加する

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

import android.os.Bundle
import android.view.View
import android.widget.EditText
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
    private lateinit var editText: EditText
    private val emailPattern = "[a-zA-Z0-9._-]+@[a-z]+\\.+[a-z]+"
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        title = "KotlinApp"
        editText = findViewById(R.id.editText)
    }
    fun validateEmail(view: View?) {
        val email = editText.text.toString().trim()
        if (email.matches(emailPattern.toRegex())) {
            Toast.makeText(applicationContext, "Valid email address",
            Toast.LENGTH_SHORT).show()
        } else {
            Toast.makeText(applicationContext, "Invalid email address",
            Toast.LENGTH_SHORT).show()
        }
    }
}

このコードのポイントは、emailPattern 変数に定義した正規表現「[a-zA-Z0-9._-]+@[a-z]+\.+[a-z]+」です。このパターンは、英数字および「 . 」「 _ 」「 - 」を含むローカル部、「@」マーク、その後に続くドメイン部という、メールアドレスの基本構成をチェックします。ボタンがタップされると validateEmail() メソッドが呼ばれ、入力値を trim() で余白を除去した上で matches() メソッドによりパターンとの一致を判定し、結果に応じてToastでメッセージを表示します。なお、入力値はボタン押下時に取得するようにすることで、ユーザーが入力した最新のテキストを確実に検証できます。

ステップ4:AndroidManifest.xmlを確認する

androidManifest.xml には以下のコードを設定します。特別な権限は不要で、標準的なアクティビティ宣言のみで動作します。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android" package="app.com.q11">
    <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スマートフォンをPCに接続しているものとします。Android Studioからアプリを実行するには、プロジェクト内のいずれかのアクティビティファイルを開き、ツールバーにあるRunアイコンをクリックします。デバイス選択のダイアログが表示されたら、接続済みのモバイルデバイスを選択してください。しばらくすると、実機の画面にアプリが起動します。

メールアドレスを入力して「Validate」ボタンをタップすると、形式が正しければ「Valid email address」(有効なメールアドレス)、誤っていれば「Invalid email address」(無効なメールアドレス)というトーストメッセージが画面下部に表示されます。これで、Kotlinと正規表現を使ったメールアドレス検証の基本的な仕組みを実装できました。より厳密なチェックが必要な場合は、Patterns.EMAIL_ADDRESS(android.util.Patterns)を利用する方法もありますので、用途に応じて使い分けると良いでしょう。

  1. 【Android開発】EditTextの入力を検証する方法|InputFilterで入力制限を実装しよう

    この記事では、AndroidアプリでEditTextの入力内容を検証(バリデーション)する方法を、サンプルコードとともにわかりやすく解説します。「英字・数字・アンダースコアのみ入力を許可したい」といったケースを想定し、InputFilterインターフェースと正規表現を使ったカスタムフィルターの実装手順を順番に見ていきましょう。 手順1:新しいプロジェクトを作成する Android Studioを起動し、メニューからFile → New Projectを選択して新規プロジェクトを作成します。必要な項目をすべて入力して、プロジェクトのセットアップを完了させてください。 手順2:レイアウトファイル(

  2. 【Android】メールアドレスを検証する方法を解説!正規表現を使ったバリデーション実装の手順

    この記事では、Androidアプリでユーザーが入力したメールアドレスの形式を検証(バリデーション)する方法を、サンプルコード付きで解説します。正規表現を使ったシンプルな手法なので、JavaでAndroid開発を始めたばかりの方にもおすすめの内容です。 作成するアプリの概要 画面上のEditTextにメールアドレスを入力し、「検証」ボタンをタップすると、入力内容がメールアドレスとして妥当な形式かどうかを判定し、その結果をToastで表示します。 ステップ1:新規プロジェクトを作成する Android Studioを起動し、メニューから「File」→「New Project」を選択します。必要な設