CheggPrep_Clone
Android세션 프로젝트 - Jetpack Compose로 플래시카드 어플리케이션 클론하기!!
2021년 9월 7일 ~ 11월 23일 + 추가 세션 기획 중
진행 : 김예원, 강인영
세션 요약 카드 뉴스
Week1 - Introduction
Week2 - 앱 기능 분석 & UI 기초
앱 기능 파악하기 : 하단 탭, 상단 선택바, 목록으로 배치된 버튼 등으로 구성
Row, Column, Icon, Divider 등을 활용한 UI 구현 진행
Week3 - UI 기초 & State 개념 및 적용
State에 대한 이해 그리고 mutableStateOf 사용
ConstraintLayout의 constrainAs와 linkTo 사용
Scaffold로 상단바 구현
Week4 - Animation 기초 & 어플 화면 구성
Animation을 위한 animateDpAsState와 AnimationSpec의 tween/spring/keyframes 이해
화면 구성을 위해 HomeScreen, SearchScreen, CreateScreen, MoreScreen 생성 후 코드 배치
Week5 - Navigation 동작 & UI 이해
지난 시간에 배운 Animation을 활용한 ProgressBar 구현
Navigation의 NavHost, NavController, route 등에 대해 배우고 Screen 구현에 직접 활용
Material Design이 제공하는 BottomNavigation을 사용하여 하단바 생성
Week6 - LifeCycle & ViewModel 이해
state hosting 활용
Life Cycle와 ViewModel에 대해 배우고 UI Controller와 ViewModel의 역할과 ViewModel의 데이터 흐름 방식 이해
Week7 - 데이터 파악 & ViewModel 적용
앱에서 필요한 데이터들을 정리하고 샘플 데이터를 생성하여 ViewModel과 함께 사용
getQueryResult를 활용하여 검색 기능 구현
Week8 - Repository 패턴 & Hilt 의존성 주입
PagerLayout을 활용하여 스와이프 기능 구현
enum class, state 등이 활용된 Card의 Flip 기능 적용
Repository와 의존성에 대한 개념 이해
Week9 - Firebase 연동 & Google Auth 사용
Firebase를 Android Studio에 연결하고 Authentication 기능을 활용한 Google Sign-in 구현