0Pricing
Android Academy · 강의

사용자 입력 처리

버튼 클릭에 응답하고 EditText에서 텍스트를 읽으며 입력을 검증하고 Toast 메시지로 사용자 피드백을 제공합니다.

사용자 입력 처리은(는) CoddyKit의 무료 Android Academy 강의입니다. 이것은 7개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Android Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Android Academy 강의에는 총 7개의 강의가 포함되어 있습니다.

UI와 코드 연결하기

레이아웃을 만드는 것은 첫 단계일 뿐입니다. 다음 작업도 필요합니다.

  • EditText에 사용자가 입력한 내용을 읽습니다
  • 버튼 클릭에 응답합니다
  • 새 값으로 TextViews를 업데이트합니다

이 레슨에서는 현대적이고 타입 안전한 방법인 ViewBinding을 사용하여 UI 요소를 연결하는 방법을 보여줍니다.

ViewBinding 활성화하기

app/build.gradle에서 ViewBinding을 활성화합니다.

// app/build.gradle (inside android { })
android {
    ...
    buildFeatures {
        viewBinding = true
    }
}

ViewBinding 사용하기

ViewBinding은 XML 레이아웃에서 바인딩 클래스를 생성합니다. 레이아웃이 activity_main.xml이면 클래스는 ActivityMainBinding입니다.

import androidx.appcompat.app.AppCompatActivity
import com.example.myapp.databinding.ActivityMainBinding

class MainActivity : AppCompatActivity() {

    private lateinit var binding: ActivityMainBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding.root)

        // Access views directly — no casting!
        binding.tvTitle.text = "Hello!"
    }
}

버튼 클릭 처리하기

setOnClickListener를 사용하여 어떤 뷰에든 클릭 리스너를 설정할 수 있습니다. 사용자가 탭할 때 실행되는 람다를 전달합니다.

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    binding = ActivityMainBinding.inflate(layoutInflater)
    setContentView(binding.root)

    var count = 0
    binding.btnIncrement.setOnClickListener {
        count++
        binding.tvCount.text = "Count: $count"
    }

    binding.btnReset.setOnClickListener {
        count = 0
        binding.tvCount.text = "Count: 0"
    }
}

EditText 입력 읽기

.text.toString()을 사용하여 사용자가 입력한 텍스트를 가져옵니다.

  • binding.etName.text.toString() — 현재 텍스트를 String으로 반환합니다
  • 항상 공백을 제거하세요: .trim()
  • 비어 있는지 확인하세요: .isBlank() 또는 .isEmpty()를 사용합니다

EditText + 버튼 예제

버튼을 클릭했을 때 입력을 읽고 표시합니다.

binding.btnGreet.setOnClickListener {
    val name = binding.etName.text.toString().trim()

    if (name.isBlank()) {
        binding.tvResult.text = "Please enter your name"
        return@setOnClickListener
    }

    binding.tvResult.text = "Hello, $name!"
}

Toast 메시지

Toast는 화면 하단에 잠시 표시되는 작은 팝업 메시지입니다. 간단한 피드백에 사용합니다.

  • Toast.LENGTH_SHORT — 약 2초
  • Toast.LENGTH_LONG — 약 3.5초

Toast 예제

버튼 클릭으로 Toast를 표시합니다.

import android.widget.Toast

binding.btnSave.setOnClickListener {
    val input = binding.etEmail.text.toString().trim()

    if (input.contains("@")) {
        Toast.makeText(
            this,
            "Saved: $input",
            Toast.LENGTH_SHORT
        ).show()
    } else {
        Toast.makeText(
            this,
            "Invalid email address",
            Toast.LENGTH_LONG
        ).show()
    }
}

입력 유형과 키보드

EditText의 inputType 속성을 설정하여 사용할 키보드를 지정합니다.

  • textEmailAddress — @ 키를 표시합니다
  • numberDecimal — 숫자 키보드를 표시합니다
  • textPassword — 문자를 숨깁니다
  • phone — 전화번호 키패드를 표시합니다

적절한 입력 유형을 사용하면 사용자 경험이 크게 향상됩니다.

빠른 확인

EditText에서 현재 텍스트를 String으로 읽는 메서드는 무엇인가요?

복습: 사용자 입력 처리하기

이제 앱이 사용자와 상호작용할 수 있습니다.

  • 타입 안전한 뷰 접근을 위해 ViewBinding을 활성화합니다
  • setOnClickListener { } — 탭에 응답합니다
  • .text.toString().trim() — EditText 입력을 읽습니다
  • Toast.makeText(...).show() — 간단한 피드백 메시지를 표시합니다
  • inputType — 사용자에게 적절한 키보드를 안내합니다

다음: Intent로 화면 사이를 이동합니다.

자주 묻는 질문

“사용자 입력 처리” 강의는 무료인가요?

네 — “사용자 입력 처리” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Android Academy 강의 전체를 잠금 해제할 수 있습니다. Android Academy 강의에는 총 7개의 강의가 포함되어 있습니다.

“사용자 입력 처리”에서 뭘 배우나요?

버튼 클릭에 응답하고 EditText에서 텍스트를 읽으며 입력을 검증하고 Toast 메시지로 사용자 피드백을 제공합니다. 브라우저에서 직접 실행하는 실습 코드로 Android Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Android Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Android Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 7개 중 4번째 강의입니다.

“사용자 입력 처리” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Android Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Android Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 프로젝트 구조 및 매니페스트
  2. 액티비티 및 수명 주기
  3. 레이아웃 및 뷰
  4. 사용자 입력 처리
  5. 인텐트 및 탐색
  6. 프래그먼트
  7. 권한 및 런타임 요청
← Android Academy(으)로 돌아가기