본문 바로가기

Android/DataBinding4

[Android] DataBinding에 대한 고찰 (2) - DataBinding은 내부적으로 어떻게 동작할까? 들어가기전에,이전 포스팅에서 DataBinding 클래스가 어떤 원리로 생성되는지 살펴보았습니다. 이전 포스팅을 보지 않으신 분들은 아래 링크를 확인 부탁드립니다.https://jtm0609.tistory.com/244 [DataBinding] DataBinding에 대한 고찰 (1) - DataBinding은 어떻게 생성되는가?위 포스팅은 DataBinding에 대한 기본적인 이해가 있는 독자를 염두에 두고 작성되었습니다. DataBinding이란?데이터 바인딩은 선언적 형식으로 레이아웃의 컴포넌트와 앱의 데이터 결합을 지원하는jtm0609.tistory.com 이 글에서는 XML에 바인딩 된 데이터가 실제 변경되었을 때 내부적으로 어떤 동작이 일어나는지 알아보겠습니다.  Click Events & D.. 2025. 1. 9.
[Android] DataBinding에 대한 고찰 (1) - DataBinding은 어떻게 생성되는가? 위 포스팅은 DataBinding에 대한 기본적인 이해가 있는 독자를 염두에 두고 작성되었습니다. DataBinding이란?데이터 바인딩은 선언적 형식으로 레이아웃의 컴포넌트와 앱의 데이터 결합을 지원하는 라이브러리이다. 2015년 Android Dev Summit에서 처음 발표되어 지금까지 안드로이드 앱을 구현할 때 흔히 사용되고 있다. 우리는 DataBinding을 적용한 Fragment나 Activity가 포함된 프로젝트를 빌드할 때, DataBinding 클래스 또는 DataBinding Impl 클래스가 생성되는 과정을 경험했을 것이다. 그렇다면 왜 이러한 클래스들이 생성되는지, 그 원리가 무엇인지 함께 살펴보자.  DataBinding 객체 생성 (Abstract Class)DataBindin.. 2025. 1. 8.
[Android] executePendingBindings() 꼭 써야 할까? DataBinding을 사용하는 코드를 보면, executePendingBindings()을 사용하는 코드가 많이 보인다.정확한 사용 이유에 대해 알고 쓰지 못한 점을 반성하며, 어떤 역할을 하고 있는지 한번 알아보자.executePendingBindings()executePendingBindings()는 DataBinding에서 제공하는 메서드로, 예약(Pending) 중인 바인딩 작업을 즉시 실행하는 역할을 한다. Databinding은 변수나 Observable이 변경되면 그 변경사항을 화면에 반영하기 위해 바인딩을 예약하는데, 이 바인딩 작업은 다음 프레임에 적용되도록 예약된다. (즉시 적용 x) 하지만, executePendingBinding()을 사용하면 다음 프레임이 반영이 아닌, 예약된 바.. 2025. 1. 8.
[Android] 데이터바인딩(DataBinding) 이란? 데이터바인딩(DataBinding)데이터 바인딩은 레이아웃의 뷰를 앱 코드에 저장된 데이터와 연결하는 간단한 방법을 제공하는 라이브러리이다.예를 들어, EditText 뷰를 ViewModel의 LiveData와 연결한다고 가정해보자.여기서 단방향 바인딩을 사용하게 된다면, LiveData가 변경되는 즉시 EditText의 값도 자동으로 해당 값으로 바뀌게 된다.만약 양방향 바인딩을 사용하게 된다면, EditText에 작성된 값이 자동으로 LiveData의 값을 갱신할 수도 있다.여기서 뷰모델 데이터를 UI뷰에서 참조할 수 있는 방법을 단방향 바인딩이라고 하고, 반대로 UI뷰의 데이터를 뷰모델의 데이터가 참조하고 갱신할 수 있는 방법이 양방향 바인딩이다. 데이터바인딩(DataBindng)을 왜 사용할까?데.. 2023. 9. 7.