Skip to content

Week3 Mentor Meeting

K060_최진형 edited this page Nov 24, 2021 · 1 revision

Android05- Kotlin Is Good

멘토만남 with Question

MVVM

  • 애플리케이션의 전체적인 구조는 MVVM 형태를 따르려고 노력하고 있습니다. DoodleLightFragment를 제외하고는 ViewModel에서 Local DataSource에 접근하여 데이터를 저장, 불러오고 있습니다. 하지만 DoodleLightFragment에서는 현재 ViewModel을 가지고 있지만 데이터 홀더로써의 역할만 하고 있습니다. 코드를 짜면서 MVVM 스럽지 않다라고 느꼈는데 한 애플리케이션 내에서 화면별로 다른 아키텍처가 적용되는 것이 괜찮은지 궁금합니다.

DiffUtil

  • DiffUtil이 call 되는 것이 다른 list가 submitlist됐을 때로 알고 있습니다. VideoDoodleLightViewModel에서는 Fragment에서 데이터를 하나씩 받아와서 ViewModel의 데이터를 갱신해주는 방식을 취하고 있는데 이렇게 진행하다보니 계속 같은 리스트가 submitlist 되는 형태가 되어 DiffUtil이 call 안되는 현상이 발생했습니다. ViewModel의 List형태의 LiveData의 데이터에 아이템 하나를 추가할 때 DiffUtil이 call되게 하려면 어떠한 방식이 있을까요? (현재는 List에 아이템 추가해주는 부분에 value.toMutableList를 통해 새로운 리스트로 갱신해주고 있습니다.)

리스트 어댑터

  • 리스트 어댑터를 사용할 경우에 notify___ 함수들을 자동으로 해주는 걸로 알고 있습니다. 하지만, 한 리스트를 계속 사용할 경우에 notify 함수를 사용하시는지, 아니면 윗 질문처럼 한 리스트를 다른 리스트로 인식하는 트릭을 사용하시는지 궁금합니다.

비슷한 UI가 사용되지만 로직이 조금 다른 Fragment

  • 해당 상황에서 새로운 Fragment 클래스를 생성하여 사용하는 것이 올바를지 아니면 기존 Fragment 클래스에 로직을 추가 하는게 나은지 궁금합니다. (다른 진입점에서 접근시)

재시작 문제

  • 램이 다 차서 사라진느 것 처럼 보이는데 어떻게 방지해야할지

테스트 앱 배포

  • 우리가 Firebase에서 배포하고 있는데 테스트 해주실 수 있는지(Ivy님도 받고 계셔서 물어봄)

서비스 피드백 관점 질문

  • 가능한지?
  • 가능하다면 어떤 관점에서 해주실 예정인지(그에 맞는 질문을 준비할 예정)

데모 시나리오

선행: 화면에 3개 이상의 동영상메모

홈화면 : 검색, 정렬, FAB

갤러리 화면 : 지나가는 화면

모두의 메모 화면: Play -> 부캠 적기 -> 캡쳐 모두의 메모 편집: 재생 -> 제목 적기 -> 저장 다시 홈화면으로 돌아와서: 내부 폴더에 존재하는 outputVideo 확인 -> 속성에서 프레임 확인

Sub: 메모 2개 작성 뒤로가기 및 x 누르면 작성된 subvideo 파일 삭제 메모 위에 메모 할때 토스트 메시지 메모 앞에 메모 할때 덮어씌워서 지워지기 서브비디오 보여지는 모습 언급 색깔 보여주기 편집화면에서 확인 저장 후 홈화면에서 확인