ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [프로젝트 회고] 첫 3주 프로젝트 회고
    🖊생활/✒️프로젝트 회고 2022. 6. 13. 23:00

    👍 숙박 앱 프로젝트

    git repository

    기술

    구분 내용
    한, 얀, 한세, 본인
    리뷰어 레노
    IDE Android Studio
    언어 코틀린
    아키텍처 mvvm
    Build Gradle
    문서 Notion, github wiki
    형상관리 git, github
    학습 내용 jetpack compose

    📁 학습 내용

    • jetpack compose
      • 한 페이지를 compose로 구현해야 하는 요구사항이 있어서 간단하게 구현을 할 수 있는 부분을 찾다가 한과 첫 화면의 구성을 컴포즈를 이용해 보기로 해서 compose를 이용해서 진행을 해보았다.
      • 구성

    • compose로 전부 구현하기에는 compose가 처음이라 난이도가 너무 높아서 부분적으로 compose를 이용하기 위해서 composeView를 이용해서 fragment에 compose를 이용하도록 구현하였다.
    • compose의 신기한 점

    • xml에서 관리를 하던 string, theme, style을 kotlin에서 관리를 하는 점이 신기했다.
    • 선언형 UI에 kotlin을 이용해서 UI 구성을 하기 때문에 기존의 xml 방식과 많이 달라서 신기했고 실시간으로 ui의 변경이 preview에 선언되어있다면 확인할 수 있는 점이 신기했다 실시간이 생각만큼 잘 되지는 않았다.
    • viewModel, hilt, coil 등이 compose 전용 의존성을 따로 추가해 주어야 하는 점이 신기했다.
    • compose의 문제 발생
      • recycler view를 compose로 구현을 해야 하는데 가로 recycler view를 적용하는 법을 찾지 못함
      • LazyHorizontalGrid

    • 처음에 한글 공식문서에서 LazyHorizontalGrid를 찾아봤는데 관련 내용이 없어서 아이비가 영어와 업데이트가 약간 다르다고 하셨던 말이 떠올라 영어로 변경!

    • 구석에서 작게 LazyHorizontalgrid를 발견하였는데 프로젝트에서 찾을 수가 없었다. 그래서 깃 허브에서 관련 정보를 검색해서 LazyHorizontalgrid를 사용한 레파지토리를 찾아서 build 부분을 확인한 결과 내가 사용한 compose와 버전이 다른 것을 발견하였다.

    • 버전을 수정하고 적용해서 가로 recycler view 적용!
    • 커스텀 캘린더 제작
      • DateRangePicker를 사용하려 했으나 크기 조절 등에서 한계를 느껴 직접 만들기로 정해서 구현을 시작했다.

Designed by Tistory.