[android] 데이터 바인딩으로 양방향 데이터 바인딩 구현

안녕하세요! 안드로이드 앱을 개발하다 보면 화면과 데이터를 손쉽게 연결할 수 있는 데이터 바인딩이 매우 유용합니다. 이번 글에서는 안드로이드에서 양방향 데이터 바인딩을 구현하는 방법에 대해 알아보도록 하겠습니다.

1. 데이터 바인딩이란?

먼저 데이터 바인딩이란 UI 컴포넌트와 데이터를 손쉽게 연결하여 데이터 변경에 따른 UI 업데이트를 쉽게 처리할 수 있도록 도와주는 안드로이드의 기술입니다. 사실 데이터 바인딩을 사용하면 기존에는 View에서 직접 데이터를 설정해야 했던 부분을 자동으로 처리할 수 있어서 코드를 더 간결하게 유지할 수 있습니다.

2. 양방향 데이터 바인딩이란?

일반적으로 안드로이드 데이터 바인딩은 데이터를 UI에 바인딩하는 단방향 동작이지만, 양방향 데이터 바인딩은 UI에서 데이터를 변경하면 이를 바로 반영하여 다시 데이터 소스로 업데이트할 수 있는 기능입니다. 이렇게 하면 UI 요소를 통해 데이터를 변경할 때 별도의 코드를 작성할 필요 없이 자동으로 업데이트가 됩니다.

3. 양방향 데이터 바인딩 구현하기

양방향 데이터 바인딩을 구현하는 방법은 간단합니다.

먼저, XML 레이아웃 파일에서 바인딩할 요소들을 지정합니다.

<EditText
    android:text="@={viewModel.userName}" />

그리고 ViewModel에서 해당 데이터를 선언하고 getter/setter 메서드를 설정합니다.

var userName: String = ""
    @Bindable
    get
    set(value) {
        field = value
        notifyPropertyChanged(BR.userName)
    }

이제 데이터를 바인딩할 XML 파일에서 사용할 레이아웃과 어댑터를 생성하고, 활성화시켜주면 양방향 데이터 바인딩이 완료됩니다.

4. 마무리

양방향 데이터 바인딩을 통해 UI와 데이터를 손쉽게 연결하여 어플리케이션을 더 유연하게 만들 수 있습니다. 안드로이드의 강력한 데이터 바인딩을 이용하여 더 많은 기능을 개발해보시기 바랍니다.

더 많은 내용은 Android Developers 사이트에서 확인하실 수 있습니다.