사용자 입력 처리
버튼 클릭에 응답하고 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 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.