제가 다음과 같은 코드로
public List<String> SearchSongsFromGenre(String Keyword){
List<String> list = new ArrayList<String>();
String[] cursorColumns = new String[] {
"*"
};
String where = MediaStore.Audio.Genres.NAME +" = '"+Keyword+"'";
Cursor cursor = (Cursor) getContentResolver().query(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
cursorColumns, where, null, null
);
if (cursor == null) {
return list;
}
if (cursor.moveToFirst()) {
int idColumn = cursor.getColumnIndex(MediaStore.Audio.Media._ID);
int genreColumn = cursor.getColumnIndex(MediaStore.Audio.Genres.NAME);
do
{
String genre = cursor.getString(genreColumn);
list.add(genre);
} while (cursor.moveToNext());
}
cursor.close();
return list;
}
이런 식의 코드로 특정 장르에 해당되는 Audio를 불러오려고 했습니다.
하지만 sqlite오류만 뿜더니 안되더군요.
그즉시 MediaStore sqliteDB분석을 시작했더니,
Audio테이블하고 genre테이블이 분류되어 있더군요.
또한 Audio테이블에는 genre에 대한 정보가 하나도 없습니다.
이런 분석을 끝내고 어떻게 해야될지 감이 안옵니다.
혹시 이문제를 해겨할 방법이 없을까요?