이 튜토리얼에서는 Kotlin을 사용하여 Android 앱에서 EditText가 비어 있는지 확인하는 방법을 단계별로 알아봅니다. 사용자 입력값 검증은 안드로이드 앱 개발에서 가장 기본적이면서도 중요한 작업 중 하나입니다.
핵심 원리 이해하기
EditText의 입력값이 비어 있는지 확인하려면 TextUtils.isEmpty() 메서드를 활용합니다. 이 메서드는 문자열이 null이거나 길이가 0일 경우 true를 반환하므로, 간단한 조건문으로 입력값 검증을 처리할 수 있습니다.
1단계: 새 프로젝트 생성
Android Studio를 실행하고 File → New Project를 선택한 후, 필요한 모든 정보를 입력하여 새 프로젝트를 생성합니다. 언어는 Kotlin으로 설정해 주세요.
2단계: 레이아웃 파일 작성 (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="2dp"
tools:context=".MainActivity">
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="45dp"
android:textSize="24sp" />
<Button
android:id="@+id/buttonCheck"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/editText"
android:layout_centerInParent="true"
android:layout_marginTop="25sp"
android:text="Check Edit" />
</RelativeLayout>3단계: Kotlin 코드 작성 (MainActivity.kt)
src/MainActivity.kt 파일에 다음 코드를 추가합니다. 버튼 클릭 시 TextUtils.isEmpty()로 EditText의 값을 검사하고, 결과에 따라 Toast 메시지를 표시합니다.
import android.os.Bundle
import android.text.TextUtils
import android.widget.Button
import android.widget.EditText
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
lateinit var editText: EditText
lateinit var button: Button
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
title = "KotlinApp"
button = findViewById(R.id.buttonCheck)
button.setOnClickListener {
if (TextUtils.isEmpty(editText.text.toString())) {
Toast.makeText(this, "빈 값은 허용되지 않습니다!", Toast.LENGTH_SHORT).show()
} else {
Toast.makeText(this, "진행합니다..", Toast.LENGTH_SHORT).show()
}
}
}
}추가 팁: isEmpty() 대신 Kotlin 문법 활용하기
Kotlin에서는 TextUtils.isEmpty() 대신 editText.text.isNullOrBlank() 또는 editText.text.toString().isBlank()와 같은 확장 함수를 사용할 수도 있습니다. 특히 isBlank()는 공백 문자만 입력된 경우에도 감지할 수 있어 더욱 엄격한 검증이 가능합니다.
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.q1">
<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(실행) 아이콘을 클릭하세요. 실행 옵션에서 연결된 모바일 기기를 선택하면, 해당 기능 화면이 표시됩니다.
EditText에 아무것도 입력하지 않고 버튼을 누르면 "빈 값은 허용되지 않습니다!"라는 Toast 메시지가 나타나고, 텍스트를 입력한 상태에서 누르면 "진행합니다.."라는 메시지가 표시되는 것을 확인할 수 있습니다.