Kotlin으로 Android 소프트 키보드 개발하기
이 튜토리얼에서는 Kotlin을 활용해 Android 앱에서 소프트 키보드(화면상 가상 키보드)의 입력을 처리하는 방법을 단계별로 살펴봅니다. 사용자가 EditText에 입력한 내용을 버튼 클릭 한 번으로 읽어와 TextView에 표시하는 간단하면서도 실용적인 예제입니다. 이 과정을 통해 Android에서 소프트 키보드 입력이 어떻게 동작하는지 기본기를 탄탄히 다질 수 있습니다.
1단계: 새 프로젝트 생성
Android Studio를 실행한 후 File → New Project 메뉴로 이동하여 새 프로젝트를 만들고, 프로젝트 생성에 필요한 모든 정보를 입력합니다. 언어는 반드시 Kotlin으로 선택하세요.
2단계: 레이아웃 파일 작성
res/layout/activity_main.xml 파일에 아래 코드를 추가합니다. 이 레이아웃에는 텍스트를 입력받을 EditText, 입력 내용을 확인할 Button, 결과를 표시할 TextView가 포함되어 있습니다.
<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"
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="50dp" />
<Button
android:id="@+id/btnShow"
android:layout_height="wrap_content"
android:layout_below="@id/editText"
android:layout_centerInParent="true"
android:layout_marginTop="5dp"
android:onClick="showText"
android:text="SHOW TEXT" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/btnShow"
android:layout_centerInParent="true"
android:layout_marginTop="10dp"
android:textColor="@android:color/background_dark"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="Soft KeyBoard"
android:textColor="@android:color/holo_red_light"
android:textSize="24sp"
android:textStyle="bold" />
</RelativeLayout>3단계: MainActivity 코드 작성
src/MainActivity.kt 파일에 아래 코드를 추가합니다. showText() 함수는 버튼이 클릭될 때 호출되며, EditText에 입력된 값을 가져와 TextView에 그대로 출력하는 역할을 합니다.
import android.os.Bundle
import android.view.View
import android.widget.EditText
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
lateinit var editText: EditText
lateinit var textView: TextView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
editText = findViewById(R.id.editText)
textView = findViewById(R.id.textView)
}
fun showText(view: View) {
val newText = editText.text.toString()
textView.text = newText
}
}4단계: AndroidManifest.xml 설정
AndroidManifest.xml 파일에 아래 코드를 추가하여 MainActivity를 앱의 실행 지점(Launcher)으로 등록합니다.
<?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 아이콘을 클릭하세요. 그다음 실행 대상 기기 목록에서 본인의 모바일 기기를 선택하면, 해당 기기에 앱이 설치·실행되어 기본 화면이 표시됩니다.
앱이 실행되면 EditText를 눌러 소프트 키보드로 원하는 텍스트를 입력하고, SHOW TEXT 버튼을 눌러 입력한 내용이 화면에 정상적으로 출력되는지 확인해 보세요. 이처럼 간단한 예제만으로도 Android에서 소프트 키보드 입력을 처리하는 기본 흐름을 익힐 수 있습니다.