안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요.
안드로이드에 지식이 미천한 초보 개발자 입니다.
맨날 삽질에 연속이네요. ㅡ.ㅜ
다름이 아니오라. 제가 하려고 하는 것이 아래와 같습니다.
- 음악 파일에 대한 Playlist 를 DB에 저장하고, 파일을 안드로이드 외장 메모리에 저장을 합니다.
예) 예를 들어 1개의 파일을 DB에 아래 처럼 저장하고 ,외장 메모리에도 아래 처럼 저장을 합니다.
(단말 DB 저장)
NO 내장/외장 여부 플레이 리스트 이름 해당 파일 명 . ..
1 외장 메모리 "90년대 가요" Hello.mp3
(단말 파일 시스템)
/SDCard/Music/Hello.mp3
대충 위와 같게 관리를 합니다.
그런데 여기서 알고 싶은것이요.
일반 안드로이드 단말을 보면, 기본 제공되는 음악플레이어에서 위의 "90년대 가요" 라는 PlayList를 Player상에 보여주고,
해당 PlayList를 누르면... 파일인 Hello.mp3를 접근가능하여 노래를 Play할 수 있도록 하고 싶은데요.
제가 현재 DB와 파일저장 까지는 만들어 놓았습니다.
그런데 직접 단말 안에 기본제공되는 Player에 해당 정보를 보이도록 하려면 어떻게 해야 되는지요?
제가 웹을 뒤져보니까, 안드로이는 DB로 어떻게 관리를 하는 것 같던데요.
도통 답이 안나오네요.
혹시 윗 내용에 대해서 알고 계신 고수 분들이 계시다면은...
한수 가르쳐 주시면 감사하겠습니다.
현재 단말 기본 제공 Player에 Playlist 만든 목록을 연결하려고, 5일째 삽질입니다. ㅡ.ㅜ
즐거운 하루 되십시오. ^^
안드로이드에 지식이 미천한 초보 개발자 입니다.
맨날 삽질에 연속이네요. ㅡ.ㅜ
다름이 아니오라. 제가 하려고 하는 것이 아래와 같습니다.
- 음악 파일에 대한 Playlist 를 DB에 저장하고, 파일을 안드로이드 외장 메모리에 저장을 합니다.
예) 예를 들어 1개의 파일을 DB에 아래 처럼 저장하고 ,외장 메모리에도 아래 처럼 저장을 합니다.
(단말 DB 저장)
NO 내장/외장 여부 플레이 리스트 이름 해당 파일 명 . ..
1 외장 메모리 "90년대 가요" Hello.mp3
(단말 파일 시스템)
/SDCard/Music/Hello.mp3
대충 위와 같게 관리를 합니다.
그런데 여기서 알고 싶은것이요.
일반 안드로이드 단말을 보면, 기본 제공되는 음악플레이어에서 위의 "90년대 가요" 라는 PlayList를 Player상에 보여주고,
해당 PlayList를 누르면... 파일인 Hello.mp3를 접근가능하여 노래를 Play할 수 있도록 하고 싶은데요.
제가 현재 DB와 파일저장 까지는 만들어 놓았습니다.
그런데 직접 단말 안에 기본제공되는 Player에 해당 정보를 보이도록 하려면 어떻게 해야 되는지요?
제가 웹을 뒤져보니까, 안드로이는 DB로 어떻게 관리를 하는 것 같던데요.
도통 답이 안나오네요.
혹시 윗 내용에 대해서 알고 계신 고수 분들이 계시다면은...
한수 가르쳐 주시면 감사하겠습니다.
현재 단말 기본 제공 Player에 Playlist 만든 목록을 연결하려고, 5일째 삽질입니다. ㅡ.ㅜ
즐거운 하루 되십시오. ^^
2010.07.07 15:47:44
Android MediaProvider.java를 보시면, 좀더 수월하실거 같네요.
일단 MediaProvider를 사용하실려면, contentResolver로 insert하시는것 아실거 같구요.
playlist관련 uri는 MediaProvider.java에서 아래쪽에 URI_MATCHER 를 보시면 쉽게 아실수 있습니다.
URI_MATCHER.addURI("media", "*/audio/media/#/playlists", AUDIO_MEDIA_ID_PLAYLISTS);
URI_MATCHER.addURI("media", "*/audio/media/#/playlists/#", AUDIO_MEDIA_ID_PLAYLISTS_ID);
URI_MATCHER.addURI("media", "*/audio/playlists/#/members", AUDIO_PLAYLISTS_ID_MEMBERS);
URI_MATCHER.addURI("media", "*/audio/playlists/#/members/#", AUDIO_PLAYLISTS_ID_MEMBERS_ID);
Uri가 정의된곳은 MediaStore를 보시면 위 Uri가 변수로 지정되어있고.. members가 세가맨님께서 원하신 Uri가 됩니다.
실제 table은 audio_playlists_map 이구요. 이 table의 schema도 MediaProvider.java를 보시면 쉽게 아실수 있습니다.
기본 Music code에서 찾으실꺼면, Uri변수를 보시고 Music code어디에서 어떻게 contentResolver를 통해서 insert하시는지 보시면 됩니다.
playlist는 DB에 노래의 id들은 넣어서 만들던데요.
기본 Music 소스를 분석해 보시는 것이 가장 좋을 듯합니다.
수고하세요!