개발일기

안드로이드 ViewBinding 완벽 가이드

뱅우 2025. 8. 14. 10:10
반응형
안드로이드 ViewBinding 완벽 가이드

안드로이드 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과 함께 사용하면 더 간결하고 안전한 안드로이드 앱을 만들 수 있습니다.

반응형