표현식 언어를 사용하면 레이아웃의 뷰에 변수를 연결하는 표현식을 작성할 수 있습니다. 데이터 바인딩 라이브러리는 레이아웃의 뷰를 데이터 오브젝트에 바인딩하는데 필요한 클래스를 자동으로 생성합니다. 이 라이브러리는 레이아웃에서 사용할 수 있는 임포트, 변수 및 포함(include)과 같은 기능을 제공합니다.
라이브러리의 이러한 기능은 기존 레이아웃과 완벽하게 공존합니다. 예를 들어 표현식에서 사용할 수 있는 바인드 변수는 UI 레이아웃의 루트 엘리먼트의 형제인 data 엘리먼트 내에 정의됩니다. 다음 엘리먼트와 같이 이 두 엘리먼트가 모두 layout 태그에 포함됩니다.
데이터 바인딩 라이브러리는 데이터의 변경 사항에 대한 데이터를 쉽게 관찰 할 수 있는 클래스와 메서드를 제공합니다. 기본 데이터 소스가 변경 될 때 UI 새로 고침에 대해 걱정할 필요가 없습니다. 변수 또는 속성을 관찰할 수 있습니다. 이 라이브러리를 사용하면 오브젝트, 필드 또는 콜렉션을 Observable하게 만들 수 있습니다.
각 레이아웃 표현식에는 적절한 속성이나 리스너를 설정하는데 필요한 프레임워크 호출을 만드는 바인딩 어댑터가 있습니다. 예를 들어, 바인딩 어댑터는 setText() 메서드를 호출하여 text 속성을 설정하거나 setOnClickListener() 메서드를 호출하여 click 이벤트에 대한 리스너를 추가 할 수 있습니다. 이 페이지의 예제에 사용 된 android:text 속성 어댑터와 같은 가장 일반적인 바인딩 어댑터는 android.databinding.adapters 패키지에서 사용할 수 있습니다. 일반적으로 사용되는 바인딩 어댑터 목록은 어댑터를 참고 합니다. 다음 예제와 같이 커스텀 어댑터를 작성할 수도 있습니다.