[android] 데이터 바인딩과 속성바인딩

Android 앱을 개발할 때 UI 컴포넌트와 데이터를 연결하는 데 유용한 도구로 “데이터 바인딩”과 “속성바인딩”을 사용할 수 있습니다. 이 두 기술은 레이아웃 XML 파일에서 UI 컴포넌트와 데이터 소스를 더 쉽게 연결하고 동적으로 업데이트하는 데 도움을 줍니다.

데이터 바인딩이란?

데이터 바인딩은 레이아웃 파일에서 UI 컴포넌트를 정의하고 해당 컴포넌트에 데이터를 연결하는 기술입니다. 이를 통해 XML 파일에서 문자열이나 데이터를 하드 코딩하기보다는 데이터 소스와 바인딩하여 동적으로 데이터를 표시할 수 있습니다.

예를 들어, 사용자 이름을 텍스트뷰에 표시해야 하는 경우 데이터 바인딩을 사용하여 해당 텍스트뷰에 사용자 이름을 동적으로 표시할 수 있습니다.

<TextView
    android:text="@{user.name}" />

@{} 구문을 사용하여 데이터 소스인 user 객체의 name 속성을 텍스트뷰의 텍스트로 바인딩할 수 있습니다.

속성바인딩이란?

속성바인딩은 레이아웃 파일에서 UI 컴포넌트의 속성과 데이터를 연결하는 기술입니다. 이를 통해 UI 컴포넌트의 다양한 속성을 동적으로 업데이트할 수 있습니다.

예를 들어, 배경 색상을 동적으로 변경해야 하는 경우 속성바인딩을 사용하여 해당 속성을 데이터에 연결할 수 있습니다.

<LinearLayout
    android:background="@{viewModel.backgroundColor}" />

@{} 구문을 사용하여 데이터 소스인 viewModel 객체의 backgroundColor 속성을 레이아웃의 배경 색상에 바인딩할 수 있습니다.

데이터 바인딩과 속성바인딩의 장점

Android 앱을 개발하면서 데이터와 UI를 연결하는 데 있어 데이터 바인딩과 속성바인딩을 적극적으로 활용하여 개발 효율성과 성능을 향상시킬 수 있습니다.

References