반응형
안드로이드 ViewBinding 완벽 가이드
ViewBinding은 안드로이드에서 findViewById() 없이도 안전하게 뷰에 접근할 수 있게 해주는 기능입니다. 기존 방식보다 코드가 간결하고 Null 안정성이 보장되어 많은 개발자들이 선호합니다.
1. ViewBinding 활성화
먼저 build.gradle(Module: app) 파일에 다음과 같이 설정합니다.
android {
...
buildFeatures {
viewBinding true
}
}
2. 사용 방법
ViewBinding을 사용하면 레이아웃 파일마다 자동으로 바인딩 클래스가 생성됩니다. 예를 들어,
activity_main.xml이 있다면 ActivityMainBinding 클래스가 만들어집니다.
class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
binding.textView.text = "Hello ViewBinding!"
}
}
3. ViewBinding의 장점
- Null 안정성: 레이아웃에 없는 뷰를 참조하는 실수를 방지
- 코드 간결화: findViewById 호출 제거
- 컴파일 타임 검증: 오타나 잘못된 ID 참조 시 빌드 에러
4. Fragment에서 사용
class SampleFragment : Fragment() {
private var _binding: FragmentSampleBinding? = null
private val binding get() = _binding!!
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
_binding = FragmentSampleBinding.inflate(inflater, container, false)
return binding.root
}
override fun onDestroyView() {
super.onDestroyView()
_binding = null
}
}
5. 주의사항
Fragment에서는 메모리 누수를 방지하기 위해 onDestroyView()에서 _binding을 null로 해제해야 합니다.
결론: ViewBinding은 코드 안정성과 생산성을 동시에 높여주는 강력한 기능입니다. 특히 Kotlin과 함께 사용하면 더 간결하고 안전한 안드로이드 앱을 만들 수 있습니다.
반응형
'개발일기' 카테고리의 다른 글
| Kotlin Flow 실전 활용법 (7) | 2025.08.18 |
|---|---|
| Kotlin Coroutine 예외 처리 패턴 (15) | 2025.08.15 |
| Kotlin Flow 실전 활용법 (11) | 2025.08.13 |
| 안드로이드 Jetpack Compose 성능 최적화 7가지 팁 (9) | 2025.08.12 |
| 개발자의 생산성 유지법: 집중력·에너지 관리 실전 가이드 (18) | 2025.08.11 |