Skip to content

1three/kotlin-data-binding

Repository files navigation

kotlin-data-binding

[Kotlin] Data Binding 공부하기


📄 Data Binding이란?

뷰와 데이터(모델)를 자동으로 연결 해주는 안드로이드 앱 개발 기술입니다.

기존에는 findViewById로 뷰를 찾아와야 했지만,
데이터 바인딩을 사용하면 XML 레이아웃 파일에서 뷰와 데이터를 바로 연결 할 수 있습니다.

이를 통해 코드 양을 줄이고 가독성과 유지 보수성을 향상시키고, 뷰와 데이터 간의 일관성을 유지하며,
뷰에서 발생하는 이벤트나 사용자 입력을 자동으로 데이터에 반영할 수 있습니다.


🔍 findViewById (기존 방식)

findViewById 메서드를 통해 뷰를 찾아와, 이벤트 처리합니다.

val btn = findViewById<Button>(R.id.btnId)
btn.setOnClickListener {
    Toast.makeText(this, "Click!", Toast.LENGTH_LONG).show()
}

📊 Data-Binding (새로운 방식)

DataBindingUtil.setContentView 메서드를 통해 뷰를 찾아오지 않아도,
레이아웃과 데이터 바인딩 객체를 자동으로 연결할 수 있습니다.

class MainActivity : AppCompatActivity() {

    // ActivityMainBinding 데이터 바인딩을 위해 자동으로 생성되는 클래스
    // activity_main.xml 파일에 정의된 모든 뷰와 바인딩된 속성들을 포함한다.
    private lateinit var binding : ActivityMainBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        // DataBindingUtil.setContentView() 메서드를 사용하여 액티비티에 데이터 바인딩을 설정
        binding = DataBindingUtil.setContentView(this, R.layout.activity_main)

        // binding 객체를 통해 XML 레이아웃 파일에서 정의한 뷰에 접근
        binding.btnId.setOnClickListener {
            Toast.makeText(this, "Click!", Toast.LENGTH_LONG).show()
        }
    }
}

About

[Kotlin] `Data Binding` 공부하기

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages