일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 알고리즘
- Build variants
- Compose
- cleanarchitecture
- coroutine
- 플레이스토어
- NavHost
- Flow
- 컴포즈
- 뷰
- 로그인
- XML
- 코틀린
- UiState
- 커스텀뷰
- 코딩테스트
- 클린아키텍처
- NavController
- DiffUtil
- sharedFlow
- 리사이클러뷰
- 회원가입
- Authentication
- Jetpack
- Android
- MVVM
- 파이어베이스
- 안드로이드
- ListAdapter
- Kotlin
- Today
- Total
목록DiffUtil (2)
Grusie 안드로이드 개발 기술 블로그
지난 번 만들었던 이미지 크롭 리스트들을, 리사이클러뷰에 DiffUtil을 활용하여 넣도록 구현하였다.베스트 컷, 퍼니 컷이라는 속성을 가진 이 아이템들을 각각 수정하거나 삭제할 수 있는 기능을 구현했어야 했다.우선 기존에 크롭 이미지는 뷰페이저로 만들어 각 프래그먼트에서 이미지를 크롭하고 캐시 디렉토리에 저장한 뒤, ActivityViewModels로 뷰모델을 공유해서 Activity에서 Intent시켜줄 때, Uri리스트를 전달하도록 구현하였다. 디자인우선 만들어야하는 뷰를 확인해보자, 넘어온 크롭 이미지 리스트를 화면에 뿌려주고, 베스트컷/퍼니컷을 선택 할 수 있도록 구현해야 하고, 햄버거 버튼을 클릭 하면 편집/삭제가 가능하도록 해야한다.편집하기/삭제하기는 popup으로 만들어서 화면에 띄워주는 ..
리사이클러뷰 단일 체크에 대해 고민해보았다. onBindViewHolder에서 처리를 하였더니, 깜빡임이 발생해 찾았던 방식이 payload였고, 회사 프로젝트에도 적용을 한 적이 있었다. DiffUtil은 리사이클러뷰의 아이템 추가/수정/삭제 등을 진행하여 변경사항을 알릴 때 기존 notifyDataSetChanged 를 사용했을 때에 비해, 성능면에서 좋다는 것만 생각하고 있었으니 조금 더 공부를 해보게 되었다. 기존 노션 페이지에서도 한 번 정리해둔 적이 있으니 참고하면 좋을 것이다.https://grusie.notion.site/6d922ec6b7b746d0aa15a0b9a4a953a5?pvs=4 안드로이드 공부 | Notion이론 공부grusie.notion.site DiffUtil이란?리사이..