상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - LiveData에서 기본값 설정하는 방법은?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
LiveData에서 기본값을 설정하는 방법에 대해 설명드리겠습니다. LiveData는 관찰 가능한 데이터 홀더로, UI 컴포넌트들이 데이터를 관찰하고 해당 데이터가 변경될 때 자동으로 업데이트되도록 돕습니다. 하지만 LiveData 객체에는 초기값을 지정하지 않으면 기본적으로 null 값을 가지게 됩니다. 따라서 처음부터 기본값을 설정해 두면, 관찰자가 등록될 때 즉시 유효한 값으로 초기화된 상태를 받을 수 있어, null 체크나 초기 빈 값 처리를 줄일 수 있습니다. 기본값 설정 방법은 다음과 같습니다. 1. MutableLiveData 생성 시 초기값 지정하기 MutableLiveData의 생성자에 초기값을 넣어 생성할 수 있습니다. 예를 들어, 정수형 LiveData에 0을 기본값으로 설정하려면 다음과 같습니다. ```kotlin val liveData = MutableLiveData<Int>(0) ``` 이렇게 하면, `liveData.value`가 초기 상태에서 0이 됩니다. 2. 초기화 후에 값 직접 할당하기 기본 생성자로 MutableLiveData 객체를 만들고, 이후 `value` 프로퍼티에 값을 직접 할당할 수도 있습니다. ```kotlin val liveData = MutableLiveData<Int>() liveData.value = 0 ``` 다만 이 경우 기본값이 바로 세팅되는 시점이 약간 뒤에 발생할 수 있기 때문에, 가급적 생성 시점에 초기값을 지정하는 방법이 더 깔끔합니다. 3. Backing Property 패턴을 활용하는 경우 <a href='https://sangseek.com/sangseeks/ViewModel/ko'>ViewModel</a> 내부에서 LiveData를 캡슐화할 때, `private val _data = MutableLiveData<T>(초기값)` 형태로 초기값을 주고, 외부에는 변경 불가능한 `LiveData<T>`를 노출하는 패턴이 일반적입니다. ```kotlin private val _number = MutableLiveData<Int>(0) val number: LiveData<Int> get() = _number ``` 4. MediatorLiveData를 사용할 경우 기본값 설정 MediatorLiveData도 MutableLiveData처럼 기본값을 초기화할 수 있습니다. ```kotlin val mediatorLiveData = MediatorLiveData<Int>().apply { value = 0 } ``` 요약 - `MutableLiveData` 생성자에 기본값을 직접 넣어 초기화를 한다. - 혹은 생성 후 `value` 프로퍼티에 초기값을 할당한다. - ViewModel에서는 private MutableLiveData를 초기값과 함께 생성하고, 외부에는 LiveData만 공개하는 관례가 있다. 이렇게 하면 LiveData를 구독하는 곳에서 null 체크를 줄이고, 항상 초기값이 설정된 상태로 관찰을 시작할 수 있어서 더 안전하고 편리합니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기