Skip to content

2022 몰입캠프 2주차 - 음악 감상 앱

Notifications You must be signed in to change notification settings

DebbieIsFree/Roots

 
 

Repository files navigation

Roots

Flow Week2 -- 4분반 8팀 (박상빈, 장지원)

  • 다양한 음악을 들을 수 있게 해주는 Android 기반 어플리케이션입니다.
  • 플레이 리스트로 좋아하는 음악을 저장하고 관리할 수 있습니다.
  • 랜덤으로 음악을 추천받을 수 있습니다.

A. 개발 팀원


B. 개발 환경

  • OS: Android (minSdk: 21, targetSdk: 31)
  • Language: Java
  • IDE: Android Studio
  • Target Device: Galaxy S7

C. 어플리케이션 소개

TAB 1 - Home

Collage Maker-18-Jul-2022-02 36-PM

Major features

  • 새로운 플레이 리스트를 만들 수 있습니다.
    • 로그인을 하면 기존에 만들어 둔 플레이 리스트를 옆으로 스와이프 해서 볼 수 있습니다.
    • [플레이리스트 추가] 버튼을 누르면 새로운 플레이리스트를 만들 수 있습니다. 이때 로그인을 하지 않았으면 로그인을 하라는 알림이 뜹니다.
    • 개수에 상관없이 원하는 만큼 새로운 노래를 추가할 수 있습니다.
    • [삭제] 버튼을 누르면 해당 플레이 리스트를 삭제할 수 있습니다.
    • [시작] 버튼을 누르면 해당 플레이 리스트를 재생하는 화면으로 전환됩니다.

기술 설명


TAB 2 - Recommendation

Major features

  • 사용자에게 무작위로 음악 5곡을 추천해줍니다.
  • 난수가 중복되지 않도록 코드를 작성하여 노래가 겹치지 않습니다.
  • 좌,우로 스와이프하여 추천 노래를 구경할 수 있습니다.
  • 노래 제목, 가수 이름, 앨범 이미지를 누르면 해당 곡을 바로 들을 수 있는 페이지로 이동합니다.

기술 설명

  1. Viewpager2dotIndicator를 활용하여, 좌/우로 스와이프가 가능한 티켓 갤러리를 제작했습니다.
  1. Front와 Back으로 나눈 후 animation를 활용하여 Card가 Flip되는 효과를 구현했습니다.

TAB 3 - Ranking

Major features


TAB 4 - 공통 기능

노래 검색

1. 검색 기능을 통해 원하는 노래를 찾을 수 있습니다. 2. 노래 제목을 다 입력하지 않아도 자동 완성으로 노래를 찾아 알파벳순으로 정렬하여 보여줍니다.

댓글 달기

1. 로그인을 한 상태이면 댓글을 달 수 있습니다. 2. 로그인을 하지 않았다면 로그인을 하라는 메세지가 뜹니다. 3. 댓글을 달면 데이터베이스에 저장됩니다. 4. 이때까지 썼던 댓글들은 데이터베이스에서 가져오고, 이를 화면에 리사이클러뷰로 보여줍니다.

로그인

Collage Maker-18-Jul-2022-02 22-PM

  1. 카카오톡 로그인 API를 사용하여 로그인 기능을 구현했습니다.
  2. 실제 카카오톡 계정에서 프로필과 이름 정보를 가져왔습니다.

노래 10초 듣기 기능

1. 로그인을 하지 않으면 노래 듣기가 10초로 제한됩니다.

광고 기능

1. 로그인을 하지 않으면 10초만 미리 듣기가 가능한데, 이때 광고를 시청하면 10초 듣기 제한이 없어집니다.

좋아요 기능

Collage Maker-18-Jul-2022-02 54-PM

  1. 노래를 듣다가 좋아요 라디오 버튼을 누르면 데이터베이스에 저장됩니다.
  2. 로그인 후 프로필에 들어가서 [좋아요 목록 보기] 버튼을 누르면 이때까지 좋아요를 누른 노래를 확인할 수 있습니다.
  3. 좋아요 목록에서 노래를 클릭하면 재생 화면으로 전환됩니다.

서버 스트리밍 기술

서버에 저장된 음원 파일을 통쨰로 다운로드해 재생하는 것이 아니라 서버로부터 조금씩 다운로드해 실시간 스트리밍을 합니다.

About

2022 몰입캠프 2주차 - 음악 감상 앱

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%