2024/08/19 2

70일차)특강(flow, Uistate), 팀프로젝트(YoutubeProject)

>특강1. Flow사용이유-livedata의 경우 안드로이드 플랫폼에 종속적이고 UI가 없는곳에서 사용하기 어려움-domainLayer에서 livedata사용이 어려움=>이로 인해 Flow를 상ㅇ 2. Flow란-코틀린에서 쓸 수 있는 비동기 스트림(데이터를 일정한 순서에 따라 연속적으로 처리,전달하는 방식)-사용방법flow builder함수로 코드블록 구성후 emit을 호출해 데이터를 보냄=>flow는 콜드 스트림이라 요청측에서 collect호출해서 값ㅇㄹ 발생시킴생명주기를 모르므로 생명주기에 따른 처리 필요cold stream이므로 연속해서 들어오는 데이터 처리 불가.예시override suspend fun searchUserVideoList(query: String): Flow> { retur..

데이터 레이어 작성, 로그인 및 회원가입과 스플래시 작성

>데이터 레이어 구조@데이터 종류1. 캐시 데이터1)카테고리 데이터 - 채널, 비디오-CategoryModel을 nextPageToken과 CategoryResponse로 나누어 저장.=>새 데이터가 들어오면 토큰은 replace하고 response는 추가하는 방식2) 로그인 데이터-로그인시 로그인 유지를 체크하면 로그인 데이터(아이디, 비밀번호)를 로컬에 저장함-직접 로그아웃시 로그인 데이터를 삭제함-스플래시 화면이 떠있는동안 로그인 데이터를 가져와서 자동로그인 구현2. 리모트 데이터1)파이어베이스유저데이터-회원가입시 중복아이디 체크-유저 데이터 변경시(이름이나 설명), 혹은 새로 회원가입시 수정 및 추가-회원탈퇴시 유저 데이터 삭제-로그인시 유저 데이터 제공유저 좋아요 데이터-좋아요시 추가-좋아요 취..