Computer >> 컴퓨터 >  >> 프로그래밍 >> Android

Kotlin으로 Android 앱에서 이메일 주소 유효성 검사하기

이 글에서는 Kotlin을 사용해 Android 애플리케이션에서 이메일 주소의 형식이 올바른지 검증하는 방법을 단계별로 살펴봅니다. 정규식(Regex) 패턴을 활용하면 간단한 코드만으로 이메일 유효성 검사를 구현할 수 있습니다.

1단계 — 새 프로젝트 생성

Android Studio에서 File → New Project를 선택하고, 새 프로젝트 생성에 필요한 모든 정보를 입력한 뒤 프로젝트를 만듭니다.

2단계 — 레이아웃 작성 (res/layout/activity_main.xml)

아래 코드를 res/layout/activity_main.xml 파일에 추가합니다. 화면에는 이메일 주소를 입력받는 EditText와 검증 버튼이 배치됩니다.

<?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에 추가합니다. 핵심은 emailPattern이라는 정규식 문자열입니다.

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 lateinit var email: String
    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)
        email = editText.text.toString().trim()
    }

    fun validateEmail(view: View?) {
        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()
        }
    }
}

정규식 패턴 해설

위 예제에서 사용된 패턴 [a-zA-Z0-9._-]+@[a-z]+\.+[a-z]+는 다음과 같은 의미를 가집니다.

  • [a-zA-Z0-9._-]+ : 영문 대소문자, 숫자, 점(.), 밑줄(_), 하이픈(-)으로 이루어진 로컬 파트(사용자 이름 부분)
  • @ : 반드시 하나의 @ 기호가 포함되어야 함
  • [a-z]+\.+[a-z]+ : 도메인 이름과 마침표(.) 그리고 최상위 도메인(com, net 등)의 조합

입력값이 이 패턴과 일치하면 matches() 함수가 true를 반환하고, 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 기기를 컴퓨터에 연결했다고 가정합니다. Android Studio에서 프로젝트의 액티비티 파일 중 하나를 연 뒤, 툴바의 실행(Run) 아이콘 Kotlin으로 Android 앱에서 이메일 주소 유효성 검사하기 을 클릭합니다. 목록에서 자신의 모바일 기기를 선택하면, 연결된 실제 기본 화면이 표시됩니다.

화면에 나타난 입력창에 이메일 주소를 입력하고 Validate 버튼을 누르면, 입력한 값이 올바른 이메일 형식인지 여부가 Toast 메시지로 즉시 확인됩니다.

Kotlin으로 Android 앱에서 이메일 주소 유효성 검사하기