public ArrayList<MusicList> getMusicList(String playlistID, String AudioID) {
Cursor cursor = context.getContentResolver().query( MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI,
new String[] { MediaStore.Audio.Playlists._ID } ,
MediaStore.Audio.Playlists.NAME + "=?" ,
new String[] { playlistID } ,
null );
cursor.moveToFirst();
a = cursor.getInt(0);
cursor.close();
Uri uri = MediaStore.Audio.Playlists.Members.getContentUri("external", a);
String[] columns = {
MediaStore.Audio.Playlists.Members.DATA,
MediaStore.Audio.Playlists.Members.TITLE,
MediaStore.Audio.Playlists.Members.ALBUM_ID,
MediaStore.Audio.Playlists.Members.ARTIST,
MediaStore.Audio.Playlists.Members.AUDIO_ID,
};
Cursor cursor2 = context.getContentResolver().query(uri, columns, null, null, null);
String[] musicPath = new String[cursor2.getCount()];
String[] musicName = new String[cursor2.getCount()];
String[] musicImage = new String[cursor2.getCount()];
String[] musicArtist = new String[cursor2.getCount()];
musicID = new String[cursor2.getCount()];
우선, 맨 처음에 플레이리스트 이름을 넣고나서, cursor.getint(0)으로 해당하는 플레이리스트를 얻어왔습니다.
그리고 그 int값을 uri에 넣고, 다시 Cursor를 이용하여 해당하는 플레이리스트 내부의 음악파일을 검색하는데..
자꾸 널포인터 예외가 뜨는군요..ㅠㅠ 혹시 참조를 잘못 한걸까요?
getcontentresolver().query 의 매개변수에 대한 정보는 찾기가 힘드네요..ㅠㅠ
movetofirst, movetonext 통해서 값 다 집어넣어봤지만... 여전히 널입니다.