본문 바로가기

Livedata4

Observable Field와 LiveData의 차이가 무엇인가요? 1. 요약 2. LiveData 3. Observable 3-1. 개념 3-2. 사용법 4. 그래서 둘의 차이는? 5. LiveData가 무조건 좋은 걸까? 1. 요약 🧑‍💻: LiveData와 Observable Field의 차이가 무엇인가요? 👨🏻‍🦱: LiveData는 수명주기를 알고 있기 때문에 observer를 자동으로 관리하지만 Observable Field는 수명주기를 알지 못해 수동으로 관리해주어야 합니다. 그렇기 때문에 메모리 누수 면에서 LiveData가 유리하다고 할 수 있습니다. 2. LiveData LiveData는 Jetpack에서 지원하는 라이브러리이며 데이터를 관찰하고 있다가 변경 사항이 생기면 알려주는 아주 기똥찬 녀석이다. LiveData에 대해서는 정리해둔 게시글이 있으.. 2022. 7. 9.
View Binding과 Data Binding 예제 1. 들어가기에 앞서 2. 예제 2-1. 가장 기본적인 코드 2-2. View Binding 2-3. View Binding + ViewModel 2-4. View Binding + ViewModel + LiveData 2-5. Data Binding 2-6. Data Binding + ViewModel 2-7. Data Binding + ViewModel + LiveData 2-8. 깃허브 링크 1. 들어가기에 앞서 뷰 바인딩(View Binding) 데이터 바인딩(Data Binding) 뷰 모델(View Model) 라이브 데이터(LiveData) 이 게시글은 위 4개의 개념이 모두 잡혀있다는 가정하에 따로 자세한 설명을 하지 않을 예정이다. 조합별로 어떻게 사용하는지 어떤 게 좋은지 비교 및 연습.. 2021. 5. 18.
LiveData(라이브 데이터)란? 1. LiveData란? 1-1. Observer 1-2. LiveData 1-3. LiveData의 장점 2. 사용법 2-1. gradle 2-2. LiveData 객체 생성 2-3. Observer 객체 생성 3. 예제 4. 더 알아보기 3-1. LifeCycleOwner 3-2. observeForever 1. LiveData란? 1-1. Observer class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { // activity 설정 관련 소스 생략 DB에서 초기 아이템 목록 호출 UI 업데이트 추가 버튼 클릭 리스너 { 아이템 추가 UI 업데이트 } 삭제 버튼 클릭 리스너 { 아이.. 2021. 5. 14.
Observer가 LiveData를 관찰 못할 때 1. 사건 배경 2. 증상 3. 시도한 방법 3-1. LifeCyclerOwner 확인 3-2. 액티비티 수명 상태 확인 3-3. observerForever 사용 3-4. hasActiveObservers 사용 4. 결론 어쩐지 검색해도 해결방법이 안 나오더라니 이런 멍청한 실수를 하는 건 나밖에 없는 것 같아서 이 포스팅을 쓸까 말까 고민했다. 그치만 삽질하면서 배운 것도 있고, 만약 한 분이라도 이 글을 보고 문제를 해결하면 내가 그 분의 시간을 아껴드리는 거니까! 적어보기로 했다. 1. 사건 배경 Retrofit에 대한 정리 글을 올릴 때 글을 보시는 분들이 LiveData에 대해 모르고 계시면 헷갈릴까 봐 콜백 함수를 써서 예제를 만들었었다. 그리고 LiveData 예제를 만드는데 새로 만들기 .. 2021. 5. 5.