상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
바다포도의 가격은 보통 얼마인가요?
바다포도에 알레르기가 있는 사람도 있나요?
통조림의 다양한 종류에는 어떤 것이 있나요?
킬로줄 환산을 사용해 식사를 계획하는 팁은 무엇인가요?
대한항공의 기내지원 서비스는 어떤 것이 있나요?
횡령죄에 대한 교육 프로그램은 어떤 것이 있을까요?
콴타스 항공의 라이센스는 어느 나라에서 발급되었나요?
콴타스 항공의 고프로 노선은 어떤 곳인가요?
콴타스 항공의 회원 가입 절차는 어떻게 되나요?
콴타스 항공의 전화 예약 서비스 이용 방법은 무엇인가요?
횡령을 목격했을 때 어떤 절차를 밟아야 하나요?
횡령이 벌어지는 주요 부서는 어떤 부서인가요?
Previous
Next
수정하기 - 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순위입니다.
수정하기
취소하기