소개글
안드로이드 2.2 ( 프로요 ) Version으로 제작한 음악 플레이어( Music player ) 입니다.
( 안드로이드 2.3 버전 진저브레드 에서도 돌아갑니다.
처음 진입을 하면, SD Card 에 존재하는 모든 음악 파일들의 List 를 보여줍니다. ( 초록색 Original 로 표시 )
List 는 [ 가수 - 노래 제목] 으로 표시가 되는데,
앨범 이미지를 함께 표시하도록 변경할 때 수월하도록 Custom Adapter 를 사용하였습니다.
List니까 당연히 Scroll 이 됩니다.
메뉴 버튼을 누르면 Original 과 Favorite 을 선택할 수 있는데, Favorite 으로 넘어가면
즐겨찾기로 등록한 파일들에 대한 List 를 표시해줍니다. ( 초록색 Favorite 으로 표시 )
List에서 곡 하나를 클릭 ( 또는 터치 ) 하면 해당 곡이 재생이 됩니다.
재생될 때에는 제목, 앨범의 그림 을 표시해주고,
기본 UI 는 [즐겨찾기 추가], [이전곡], [재생/정지], [다음곡] 입니다.
UI 는 말 그대로 [즐겨찾기 추가] 는 즐겨찾기 DB 에 추가를 해서, 다음부터 Favorite 에 추가되어 나옵니다.
[이전곡] 은 List 기준 이전곡을, [다음곡] 은 List 기준 다음 곡을 재생해줍니다.
[재생/정지] 는 곡을 재생, 정지 시키는데 완전 stop이 아니라 pause/play 의 개념입니다.
노래가 재생된 상태에서 재생하는 화면에서 벗어나면 ( Home 키나 Back 키 등으로 )
상태바에 알림 ( Notification ) 을 표시해줍니다.
Service 를 이용하여 노래는 계속 재생됩니다. ( 다른 음악 플레이어처럼.. )
알림에는 현재 재생중인 노래의 가수이름 - 제목 으로 표시가 되며.
해당 알림을 클릭 ( 터치 ) 하면 다시 재생화면으로 들어가며 알림메세지는 없어집니다.
코드의 대부분에 주석을 달아놨으며,
코드 리펙토링( Refactoring ) 을 하여 코드를 보기 쉽고, 체계적, 효율적으로 구성되어 있습니다.
리펙토링이 되어 있기 때문에 속도도 빠릅니다.
이클립스에서 프로그램을 로드하신 후에는 F5를 통해 프로젝트를 refresh 해주시고,
[Project] - [Clean] 을 통해 rebuild 작업을 거쳐주셔야 R 관련된 에러가 사라져 정상적으로 이용하실 수 있습니다.
컴파일 실행환경
안드로이드 2.2 프로요, Android 2.2 Froyo, ( 안드로이드 2.3 진저브레드 ( ginger bread ) 가능 )
본문내용
안드로이드 2.2 ( 프로요 ) Version으로 제작한 음악 플레이어 입니다.
( 안드로이드 2.3 버전 진저브레드 에서도 돌아갑니다.
[ 스크린샷 왼쪽 상단 참조 ]
처음 진입을 하면, SD Card 에 존재하는 모든 음악 파일들의 List 를 보여줍니다. ( 초록색 Original 로 표시 )
List 는 [ 가수 - 노래 제목] 으로 표시가 되는데,
앨범 이미지를 함께 표시하도록 변경할 때 수월하도록 Custom Adapter 를 사용하였습니다.
List니까 당연히 Scroll 이 됩니다.
[ 스크린샷 오른쪽 상단 참조 ]
메뉴 버튼을 누르면 Original 과 Favorite 을 선택할 수 있는데, Favorite 으로 넘어가면
즐겨찾기로 등록한 파일들에 대한 List 를 표시해줍니다. ( 초록색 Favorite 으로 표시 )
[ 스크린샷 왼쪽 하단 참조 ]
List에서 곡 하나를 클릭 ( 또는 터치 ) 하면 해당 곡이 재생이 됩니다.
재생될 때에는 제목, 앨범의 그림 을 표시해주고,
기본 UI 는 [즐겨찾기 추가], [이전곡], [재생/정지], [다음곡] 입니다.
UI 는 말 그대로 [즐겨찾기 추가] 는 즐겨찾기 DB 에 추가를 해서, 다음부터 Favorite 에 추가되어 나옵니다.
[이전곡] 은 List 기준 이전곡을, [다음곡] 은 List 기준 다음 곡을 재생해줍니다.
[재생/정지] 는 곡을 재생, 정지 시키는데 완전 stop이 아니라 pause/play 의 개념입니다.
[ 스크린샷 오른쪽 하단 참조 ]
노래가 재생된 상태에서 재생하는 화면에서 벗어나면 ( Home 키나 Back 키 등으로 )
상태바에 알림 ( Notification ) 을 표시해줍니다.
Service 를 이용하여 노래는 계속 재생됩니다. ( 다른 음악 플레이어처럼.. )
알림에는 현재 재생중인 노래의 가수이름 - 제목 으로 표시가 되며.
해당 알림을 클릭 ( 터치 ) 하면 다시 재생화면으로 들어가며 알림메세지는 없어집니다.
코드의 대부분에 주석을 달아놨으며,
코드 리펙토링( Refactoring ) 을 하여 코드를 보기 쉽고, 체계적, 효율적으로 구성되어 있습니다.
리펙토링이 되어 있기 때문에 속도도 빠릅니다.
또한 리펙토링으로 기능별로 function ( 메소드 ) 들을 나눠놨기 때문에
기능을 추가하기도 매우 쉽습니다.
Broadcast Receiver 를 제외한 Activity, Service, Provider 세가지 컴터넌트 모두를 사용했습니다.
안드로이드에서 제공하는 대표적인 기능들을 모두 넣으려고 노력했습니다.
( Notification, Service binding, Custom Adapter, SharedPreference , Menu 등 )
사용한 기능들은 아래와 같습니다.
- CustomAdapter.
- Service
- ContentProvider ( Database )
- Media palyer
- Activity
- SharedPreference ( xml )
- Menu
- Notification
- Service binding ( ServiceConnection )
참고 자료
없음