Skip to content

[week7] 미션 진행 #3 #4

@ImKyungJin

Description

@ImKyungJin

실습 목표

  • 강의에서 보여준 기능들을 전부 구현하고, 화면 간 이동과 데이터 처리를 실습한다.
  • RoomDB를 활용하여 앨범과 노래 데이터를 관리하고, 좋아요 기능을 추가한다.
  • 파이어베이스 Realtime Database를 사용하여 좋아요한 데이터를 저장하고 불러온다.

과제 진행 내용

  1. MainActivity

    • 더미데이터를 RoomDB에 insert한다.
    • sharedPreference에 'songId' (primary key)를 저장한다.
    • 저장된 'songId' 값을 사용하여 노래를 초기화한다.
    • 다음곡 버튼을 누르면 다음곡으로 이동, 이전곡 버튼을 누르면 이전곡으로 이동한다.
  2. SongActivity

    • DB 데이터 songs에 노래를 추가한다.
    • 저장되어있는 'songId' (primary key)로 songs와 비교하여 nowPos 값을 찾는다.
    • 다음곡 버튼을 누르면 다음곡으로 이동, 이전곡 버튼을 누르면 이전곡으로 이동한다.
  3. 보관함 프래그먼트

    • DB의 클릭한 노래의 isLike 값을 업데이트한다.
    • 만약 isLike가 true라면 보관함에 곡이 추가되도록 구현한다.
    • 좋아요한 노래를 DB에서 불러와 RecyclerView에 표시한다.
  4. AlbumFragment

    • Album DB를 구현하고 사용한다.
    • AlbumDAO와 Album data class를 생성하여 Album Table을 만든다.
    • Song data class에 albumIdx를 추가하고, 각 노래의 albumIdx에 Album Table의 id 값을 할당한다.
    • HomeFragment에서 DB에 저장된 Album을 가져와서 화면에 표시한다.
  5. Song Activity 좋아요 기능

    • 좋아요 또는 좋아요 취소 버튼을 누를 때마다 실제 플로 앱처럼 Toast message를 커스텀하여 표시한다.
  6. 홈프래그먼트 앨범 재생 클릭

    • 앨범 수록곡을 전체 재생할 수 있도록 구현한다.
    • RoomDB를 적용하여 앨범 데이터를 저장하고 가져온다.
  7. 보관함 프래그먼트 전체 선택 후 좋아요 취소

    • 전체 선택을 클릭하면 BottomSheetDialog를 표시하여 사용자에게 선택 옵션을 제공한다.
    • '삭제' 이미지를 누르면 선택한 곡들을 RecyclerView와 DB에서 삭제하고, isLike 값을 false로 업데이트한다.
  8. 파이어베이스 Realtime Database 활용

    • RoomDB의 코드를 주석처리하고 파이어베이스 Realtime Database를 사용하여 좋아요한 데이터를 저장하고 불러온다.
    • 파이어베이스 Realtime Database에는 이미지를 제외한 나머지 내용을 저장한다. (Storage 이미지까지 저장 가능하면 더 좋음)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions