일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- DiffUtil
- MVVM
- NavHost
- 파이어베이스
- 컴포즈
- 커스텀뷰
- NavController
- coroutine
- Jetpack
- 코틀린
- 로그인
- 알고리즘
- 클린아키텍처
- 안드로이드
- UiState
- ListAdapter
- Authentication
- sharedFlow
- 뷰
- 플레이스토어
- Compose
- 코딩테스트
- XML
- Flow
- cleanarchitecture
- Android
- Build variants
- Kotlin
- 회원가입
- 리사이클러뷰
- Today
- Total
목록이미지 저장 (2)
Grusie 안드로이드 개발 기술 블로그
플로우이미지 리스트를 포함하여 서버통신을 하는 과정이 필요했으며, 중간에 임시저장을 할 수 있도록 구현 했어야 했다.추 후 임시저장 리스트를 통해 불러 올 수 있어야 했기에 이미지 저장은 필수였다.처음 생각은 origin 즉, 기본 이미지를 갤러리에서 가져오니, 그 uri를 그대로 저장하고, crop을 진행한 것들만 저장하면 되겠다고 생각하였다.하지만 고민을 해보다가, 만약 원본 이미지를 갤러리에서 삭제하면 어떻게 되는거지? 라는 물음에 도달해서, originImage도 저장하고, cropImage도 저장하게 되었다.저장은 앱의 내부 저장소를 이용할 것인데, 이미지가 계속 늘어나지 않도록, 화면을 종료하면 임시저장하지 않은 상태일 경우, 삭제하도록 구현하였다.하지만, 만약 임시저장이 되지 않은 상태로, ..
지난 번 만들었던 이미지 크롭 리스트들을, 리사이클러뷰에 DiffUtil을 활용하여 넣도록 구현하였다.베스트 컷, 퍼니 컷이라는 속성을 가진 이 아이템들을 각각 수정하거나 삭제할 수 있는 기능을 구현했어야 했다.우선 기존에 크롭 이미지는 뷰페이저로 만들어 각 프래그먼트에서 이미지를 크롭하고 캐시 디렉토리에 저장한 뒤, ActivityViewModels로 뷰모델을 공유해서 Activity에서 Intent시켜줄 때, Uri리스트를 전달하도록 구현하였다. 디자인우선 만들어야하는 뷰를 확인해보자, 넘어온 크롭 이미지 리스트를 화면에 뿌려주고, 베스트컷/퍼니컷을 선택 할 수 있도록 구현해야 하고, 햄버거 버튼을 클릭 하면 편집/삭제가 가능하도록 해야한다.편집하기/삭제하기는 popup으로 만들어서 화면에 띄워주는 ..