이 프로젝트는 무엇인가요?
이세계 아이돌처럼 가상세계 버츄얼 아이돌 그룹의 프리아를 유튜브 알고리즘을 통해서 알게 되었습니다.
신생 그룹이여서 이세계 아이돌처럼 관련된 어플리케이션이 많이 없었습니다.
그래서 맴버들의 최신 유튜브, 최신 틱톡등 모아볼 수 있는 어플리케이션을 만들어볼려고 이 프로젝트를 할려고 합니다.
사용된 라이브러리
먼저 Compose를 사용할려고 합니다. Compose는 코드 수를 확 줄일 수 있으며, XML을 사용하지 않고 kotlin으로 개발할 수 있는 장점이 있습니다.
그리고, Hilt를 사용할 예정입니다. Hilt는 아키텍쳐를 설계할 때 쉽게 설계할 수 있도록 도와주는 라이브러리입니다.
그 외 라이브러리는 프로젝트를 진행하며 추가할 것입니다.
프로젝트 진행사항
1. Figma로 간단한 디자인
2. 메인화면 Compose 개발
Compose개발하며 Stateless, StateFull에 대해서 다시 공부하게 되었으며, 개발 중 이슈가 있던 점을 기록할려고 합니다
Compose 개발했을 때 있던 이슈
1. HorizontalAlignment, HorizontalArrangement
// Row의 가로 비율 맞추기 잘못된 방법
Row(verticalAlignment = Alignment.CenterHorizontally)
// Row의 가로 비율 맞추기 옳은 방법
Row(horizontalArrangement = Arrangement.Center)
// 가로 비율 맞추기 잘못된 방법
Column(verticalArrangement = Arrangement.Center)
// 가로 비율 맞추기 옳은 방법
Column(horizontalAlignment = Alignment.CenterHorizontally)
Row와 Column의 레이아웃에서 가운데 정렬을 위해서 Align을 친 뒤 자동 완성을 했는데 자꾸 not found 에러가 나왔습니다.
처음에는 뭐가 문제인지 몰랐는데, Row와 Column에 해당하는 layout에서 정렬과 배열의 차이였습니다.
Arrangement는 정렬방식 Alignment는 배열하는 방식이라고 합니다.
그래서 Arrangement는 Row에서는 가로의 정렬방식, Vertical에서는 세로의 정렬방식을 지정하고, Alignment는 View를 배열하는 방식을 어떤 것으로 할지 지정하는 거였습니다.
2. stateless, statefull
Stateless 컴포저블은 상태를 소유하지 않는 컴포저블입니다. 즉, 새 상태를 보유하거나 정의하거나 수정하지 않습니다.
Stateful 컴포저블은 시간이 지남에 따라 변할 수 있는 상태를 소유하는 컴포저블입니다.
실제 앱에서는 컴포저블의 기능에 따라 컴포저블을 100% 스테이트리스(Stateless)로 하는 것은 어려울 수 있습니다. 컴포저블이 가능한 한 적게 상태를 소유하고 적절한 경우 컴포저블의 API에 상태를 노출하여 상태를 끌어올릴 수 있도록 컴포저블을 디자인해야 합니다.
정리
1. 프리아 컬렉션 프로젝트 시작
2. Compose, Hilt을 사용할 예정 필요 시 추가
3. 개발하며 있던 이슈 정리
출처 및 개발 시 참고했던 주소
'안드로이드 > Project' 카테고리의 다른 글
[안드로이드] 프리아 컬렉션 - 6 (0) | 2023.04.30 |
---|---|
[안드로이드] 프리아 컬렉션 프로젝트 - 5 (2) | 2023.04.22 |
[안드로이드] 프리아 컬렉션 프로젝트 - 4 (0) | 2023.04.16 |
[안드로이드] 프리아 컬렉션 프로젝트 - 3 (0) | 2023.03.29 |
[안드로이드] 프리아 컬렉션 프로젝트 - 2 (2) | 2023.03.22 |