[android] 데이터 바인딩과 데이터 모델
안드로이드 앱을 개발하면서 UI 요소와 데이터를 연결하는 작업은 매우 중요합니다. 안드로이드에서는 데이터 바인딩을 사용하여 이를 쉽게 처리할 수 있습니다. 데이터 바인딩은 레이아웃 파일(XML)과 데이터 모델을 연결하여 UI 요소에 데이터를 쉽게 바인딩할 수 있는 기능을 제공합니다.
데이터 모델
안드로이드에서 데이터 모델은 앱에서 사용되는 데이터를 정의하고 가공하는 역할을 합니다. 데이터 모델은 일반적으로 POJO(Plain Old Java Object) 클래스로 표현되며, 데이터의 속성과 동작을 포함합니다.
public class User {
private String name;
private int age;
// Getters and setters
}
위의 예시는 간단한 사용자 데이터 모델인 User
클래스를 나타냅니다. 이 클래스는 사용자의 이름과 나이를 저장하는 속성을 가지고 있습니다.
데이터 바인딩
데이터 바인딩을 사용하면 XML 레이아웃 파일에서 데이터 모델을 쉽게 참조하고 연결할 수 있습니다.
<layout>
<data>
<variable
name="user"
type="com.example.User" />
</data>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{user.name}" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{String.valueOf(user.age)}" />
</layout>
위의 예시에서 user
변수는 User
클래스의 인스턴스를 참조하고 있습니다. XML 레이아웃 파일에서 @{user.name}
과 @{String.valueOf(user.age)}
를 통해 User
클래스의 데이터를 UI 요소에 바인딩할 수 있습니다.
결론
데이터 바인딩을 사용하면 데이터 모델과 UI를 효과적으로 연결하고, 반복적인 코드 작성을 줄일 수 있습니다. 이를 통해 안드로이드 앱의 유지보수성을 높일 수 있고, 코드 가독성을 향상시킬 수 있습니다.
참고문헌: