이 예제는 Android TextView에서 length() 메서드를 활용하는 방법을 단계별로 설명합니다. length()는 문자열의 길이를 반환하는 자바의 기본 메서드로, 입력값 검증이나 문자열 처리에 매우 유용하게 사용됩니다.
1단계: 새 프로젝트 생성
Android Studio에서 새 프로젝트를 생성합니다. 상단 메뉴에서 File → New Project를 선택하고, 프로젝트 생성에 필요한 모든 세부 정보를 입력한 뒤 진행하세요.
2단계: 레이아웃 파일 작성
res/layout/activity_main.xml 파일에 아래 코드를 추가합니다.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:app="https://schemas.android.com/apk/res-auto"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
tools:context=".MainActivity">
<EditText
android:id="@+id/name"
android:layout_width="match_parent"
android:hint="Enter name"
android:layout_height="wrap_content" />
<Button
android:id="@+id/click"
android:text="Click"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/textview"
android:layout_width="wrap_content"
android:textSize="25sp"
android:layout_height="wrap_content" />
</LinearLayout>위 레이아웃 코드에는 세 가지 UI 요소가 포함되어 있습니다. 이름을 입력받기 위한 EditText, 클릭 이벤트를 발생시킬 Button, 그리고 결과를 표시할 TextView입니다.
3단계: MainActivity 작성
src/MainActivity.java 파일에 아래 코드를 추가합니다.
package com.example.myapplication;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
EditText name;
Button button;
TextView text;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
name = findViewById(R.id.name);
button = findViewById(R.id.click);
text = findViewById(R.id.textview);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!name.getText().toString().isEmpty()) {
if (name.getText().toString().length() >= 0) {
int index = name.getText().toString().lastIndexOf("sai");
text.setText(String.valueOf(index));
}
} else {
name.setError("Plz enter name");
}
}
});
}
}코드 동작 방식
위 코드의 핵심 로직을 살펴보면 다음과 같습니다.
사용자가 버튼을 클릭하면 EditText에 입력된 데이터를 가져옵니다. 먼저 isEmpty()로 입력값이 비어 있는지 확인하고, 값이 존재하면 length() 메서드로 문자열 길이가 0 이상인지 검사합니다. 조건을 통과하면 lastIndexOf("sai")를 호출하여 문자열 내에서 "sai"가 마지막으로 나타나는 인덱스 위치를 구해 TextView에 출력합니다.
만약 입력값이 비어 있다면 setError()를 통해 "Plz enter name"이라는 오류 메시지를 표시하여 사용자에게 이름 입력을 요청합니다.
애플리케이션 실행하기
이제 앱을 실행해 보겠습니다. 실제 Android 모바일 기기가 컴퓨터와 연결되어 있다고 가정합니다. Android Studio에서 프로젝트의 액티비티 파일 중 하나를 열고, 툴바의 Run(실행) 아이콘을 클릭하세요. 실행 옵션 목록에서 본인의 모바일 기기를 선택하면, 기기 화면에 아래와 같은 기본 화면이 표시됩니다.

실행 결과 확인
위 결과 화면에서 입력란에 "Krishna sai sai"라는 문자열을 입력했다고 가정해 보겠습니다. 앱은 입력된 문자열의 길이가 0 이상인지 조건을 검사한 후, "sai"가 마지막으로 등장하는 인덱스 위치인 12를 결과로 반환하여 화면에 표시합니다.
이처럼 length() 메서드는 문자열 유효성 검사와 함께 다양한 문자열 처리 로직의 기초가 되는 핵심 기능입니다. lastIndexOf(), isEmpty() 같은 다른 String 메서드들과 조합하면 더욱 강력한 입력 검증 로직을 구현할 수 있습니다.