Skip to content

Week5: Meeting With Mento

K057_최연두 edited this page Nov 24, 2021 · 1 revision

Android05 KotlinIsGood W5 멘토만남

Quetion

RecyclerView Item의 ViewModel 참조

RecyclerView의 아이템에 특정 뷰의 표시 여부를 ViewModel의 LiveData를 기반으로 Visible/Gone이 결정되는데 Item에서는 어떻게 참조를 해야할지 궁금합니다. 일단 현재는 Adapter에 해당 LiveData를 생성자로 넣어 Viewholder에서 bind할때 data로 넘겨주는 형태로 설계했습니다.

StaggeredGridLayout

StaggeredGridLayout을 사용하면 다양한 크기의 아이템 뷰가 생성되는데 그에 따라 스크롤 시 아이템이 포지션이 바뀌는 경우가 빈번한데 이 부분을 해결하는 방법이 있는지 궁금합니다. StaggeredGridLayout strategy를 GAP_HANDLING_MOVE_ITEMS_BETWEEN_SPANS로 설정을 했는데 이부분 때문에 item의 순서?가 바뀌는 것은 이해가 안돼서 여쭤봅니다.

HomeFragment IO

HomeFragment는 기존에 onViewCreated()에서 DB의 값을 가져오는 IO를 수행하였었습니다. 이 때onBackPressed와 같이 뒤로 돌아가서 Fragment를 다시 불러왔을 때도 IO 작업이 실행되어 이는 낭비라고 생각되었습니다. 여기서 어떤 대안이 있을지 궁금합니다.

  • 대안: HomeFragment에서 navigation 컴포넌트의 args를 받아 수정 여부에 따라 args를 다르게 받도록 하여 특정 args에서만 IO 작업 실행
  • 대안2: StateFlow 사용 (잘 모름)

변경 사항

UI/UX 수정

  • 네비게이션 드로어
    • 메모를 종류별로 볼 수 있음
    • 오픈소스 라이선스

전체적인 완성도

버전 태그 올리는 이유

업데이트 할 수 있을지, 이전과 동일한 버전이면 앱 업데이트 설치가 안되므로 무조건 버전을 올려서 보내야함

version name vs version code

ex) 1.0.0 vs 1234567 차이:

  • Version name
    • 사람이 인지하기 위한 값
  • Version code
    • 기기가 이해하는 값
    • 무조건 1 이상 씩 증가 필요

발표 방법, 흐름

  1. 간단한 서비스 소개
    1. 왜 비디오 메모, 음성메모를 선택하였는지
  2. 비디오 메모를 위해 떠올린 방법 - 3가지
    1. 좌표 - 포인트, 시간 저장해서 실시간으로 보여지는 거
    2. PIP - 좌표를 영상으로 개선
    3. 프레임
  3. 2가지를 선택하게 된 계기
  4. 모두의 메모 개발하며 생긴 문제점, 해결방법
  5. 나만의 메모 개발하며 생긴 문제점, 해결방법
  6. 음성 메모 개발하며 생긴 문제점, 해결방법
  7. 협업, 브랜치, 노션, issue/error관리 깃허브에 대해서도 포함하면 의미있다 -> 비중있게
  8. 프로젝트를 통해 얻은 점 정리
  9. Q&A (예상질문)
    1. PPT 준비 -> 많이 준비했음을 보여주기 위한 방법 중 1

발표시간 - 다 준비, 시간이 부족하다 판단 -> 별첨목록, 부족하면 Q&A 질문 부탁드립니다 Life Cycle 고난 경험

테스트코드

  • Android Test 방법

Test보다 Lint Lint 수치 줄인 것에 대한 자료 -> APK 사이즈 줄어듦

Test -> Clean Architecture Repo, Datasource, ViewModel 을 먼저 Test Code 작성 후 Activity/Fragment 시행 Test Coverage 선측정 후측정해서 비교

목록 빈 화면 대응 다크모드 (아이콘, 컬러)

진행, 어투는 더 편하게, BackLog 진행과정을 못본 게 아쉽다.

Clone this wiki locally