LiveData<UserWithPost>는 Android 아키텍처 구성 요소에서 제공하는 LiveData 클래스를 사용한 것입니다. 여기서, LiveData는 관찰 가능한 데이터 홀더 클래스로, UI와 데이터 사이 적절한 소통을 위해 사용됩니다. LiveData는 관찰자 패턴을 채택하여 UI 구성 요소 데이터를 관찰하고 데이터 변경 시 업데이트를 자동으로 받도록합니다. UserWithPost는 중간 데이터 클래스이며, 이는 User 테이블과 Post 테이블 간의 관계를 묘사합니다.
LiveData는 다과 같은 이점이 있습니다:
Lifecycle 인식: LiveData는 UI 컴포넌트의 수명 주기(Lifecycle)를 고려하여 적절한 동작을 수행합니다. LiveData는 앱 내의 UI 컴포넌트의 상태를 검사하고 데이터를 보내는 갱신 시점을 결정합니다. 즉, LiveData는 활성 상태(active)인 UI 컴포넌트에만 데이터 업데이트해주고, 비활성 상태(inactive)인 컴포넌트에는 데이터를 보내지 않아 메모리와 성능을 관리할 수 있습니다.
비즈니스 로직과 UI 로직 분리: LiveData를 사용하면 데이터를 가져오거나하는 비즈니스 로직과 UI 로직을 분리시킬 수 있어 응용 프로그램의 유지 관리와 테스트에 도움이 됩니다.
적절한 업데이트: 새로운 데이터가 발생하면 자동으로 관찰자에게 업데이트(Observer Pattern)가 제공되어 UI와 사이의 통신을 쉽게 할 수 있습니다.
LiveData<UserWithPost>는 UserWithPost 타입의 관찰 가능한 데이터입니다. 이를 사용하면 UI 구성 요소에서 한 명의 사용자와 관련된 게시물에 대한 업데이트를 적절히 관찰하고 전달받아 반영 가능합니다.
'미완성글' 카테고리의 다른 글
안드로이드 스튜디오의 View와 데이터베이스의 View는 무엇일까? (0) | 2023.06.05 |
---|---|
비동기식이란? (2) | 2023.06.05 |
안드로이드 스튜디오에서 두 개 이상의 서로 다른 테이블을 동시 참조하는 경우 (0) | 2023.06.05 |
지연 로드 개념 (0) | 2023.06.05 |
여러 테이블 쿼리 (0) | 2023.06.05 |