-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
실습 목표
- 강의에서 보여준 기능들을 전부 구현하고, 화면 간 이동과 데이터 처리를 실습한다.
- RoomDB를 활용하여 앨범과 노래 데이터를 관리하고, 좋아요 기능을 추가한다.
- 파이어베이스 Realtime Database를 사용하여 좋아요한 데이터를 저장하고 불러온다.
과제 진행 내용
-
MainActivity
- 더미데이터를 RoomDB에 insert한다.
- sharedPreference에 'songId' (primary key)를 저장한다.
- 저장된 'songId' 값을 사용하여 노래를 초기화한다.
- 다음곡 버튼을 누르면 다음곡으로 이동, 이전곡 버튼을 누르면 이전곡으로 이동한다.
-
SongActivity
- DB 데이터
songs에 노래를 추가한다. - 저장되어있는 'songId' (primary key)로 songs와 비교하여
nowPos값을 찾는다. - 다음곡 버튼을 누르면 다음곡으로 이동, 이전곡 버튼을 누르면 이전곡으로 이동한다.
- DB 데이터
-
보관함 프래그먼트
- DB의 클릭한 노래의
isLike값을 업데이트한다. - 만약
isLike가 true라면 보관함에 곡이 추가되도록 구현한다. - 좋아요한 노래를 DB에서 불러와 RecyclerView에 표시한다.
- DB의 클릭한 노래의
-
AlbumFragment
- Album DB를 구현하고 사용한다.
- AlbumDAO와 Album data class를 생성하여 Album Table을 만든다.
- Song data class에
albumIdx를 추가하고, 각 노래의albumIdx에 Album Table의 id 값을 할당한다. - HomeFragment에서 DB에 저장된 Album을 가져와서 화면에 표시한다.
-
Song Activity 좋아요 기능
- 좋아요 또는 좋아요 취소 버튼을 누를 때마다 실제 플로 앱처럼 Toast message를 커스텀하여 표시한다.
-
홈프래그먼트 앨범 재생 클릭
- 앨범 수록곡을 전체 재생할 수 있도록 구현한다.
- RoomDB를 적용하여 앨범 데이터를 저장하고 가져온다.
-
보관함 프래그먼트 전체 선택 후 좋아요 취소
- 전체 선택을 클릭하면 BottomSheetDialog를 표시하여 사용자에게 선택 옵션을 제공한다.
- '삭제' 이미지를 누르면 선택한 곡들을 RecyclerView와 DB에서 삭제하고,
isLike값을 false로 업데이트한다.
-
파이어베이스 Realtime Database 활용
- RoomDB의 코드를 주석처리하고 파이어베이스 Realtime Database를 사용하여 좋아요한 데이터를 저장하고 불러온다.
- 파이어베이스 Realtime Database에는 이미지를 제외한 나머지 내용을 저장한다. (Storage 이미지까지 저장 가능하면 더 좋음)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels