상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - LiveData의 데이터 변경 시 UI 업데이트 방법은?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
LiveData에서 데이터가 변경될 때 UI를 업데이트하는 기본적인 방법은 다음과 같습니다. 1. LiveData 관찰자(Observer) 등록 UI 컴포넌트(Activity, Fragment 등)에서 LiveData 객체를 관찰하도록 Observer를 등록합니다. Observer는 LiveData의 데이터가 변경될 때 호출되는 콜백 인터페이스입니다. 2. LifecycleOwner 지정 LiveData는 LifecycleOwner와 연동되어 있어 UI의 생명주기 상태에 따라 자동으로 데이터 업데이트를 관리합니다. 보통 Activity나 Fragment가 LifecycleOwner 역할을 하며, 이를 기반으로 LiveData는 비활성 상태일 때는 구독을 중단하여 메모리 누수나 불필요한 리소스 사용을 막아줍니다. 3. Observer 내부에서 UI 업데이트 구현 Observer의 onChanged 메서드 안에 데이터가 변경되었을 때 UI 요소를 갱신하는 코드를 작성합니다. 예시를 통해 살펴보면: ```kotlin // ViewModel 내 LiveData 선언 val userNameLiveData: LiveData<String> = MutableLiveData() // Activity 또는 Fragment 내에서 LiveData 관찰 설정 userNameLiveData.observe(this, Observer { newName -> // 데이터가 변경될 때마다 호출됨 // 예: TextView의 텍스트를 새 데이터로 변경 textViewUserName.text = newName }) ``` 여기서 중요한 점은 `observe()` 메서드에서 LifecycleOwner(`this`)를 전달하여 현재 UI 컴포넌트의 라이프사이클에 맞게 LiveData를 구독관리 한다는 것입니다. LiveData에서 데이터가 변경되면 Observer의 람다(또는 onChanged 메서드)가 호출되어 UI가 최신 데이터로 변경되므로, 별도의 복잡한 동기화 코드를 작성하지 않아도 됩니다. 요약하자면: - UI가 LifecycleOwner가 된다. - LiveData 객체에 대해 observe()를 호출해 Observer를 등록한다. - 데이터 변경 시 Observer의 콜백이 실행되고 UI를 업데이트한다. - LiveData가 라이프사이클을 자동 관리해 안전하고 효율적으로 UI 업데이트를 돕는다. 이 방식을 통해 MVVM 아키텍처에서 데이터와 UI 상태 간의 단방향 바인딩을 쉽게 구현할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기