안녕하세요.
이제 막 안드로이드에 대해서 배우고 있는 학생입니다.
이번에 간단하게 music player를 만들려고 하는데요.
재생목록을 만드는 도중 album별로 정렬시 같은 album이 여려개 보여지더라구요;;
아래는 소스코드인데요;
hashset을 이용하는 방법이 있다고는 들었는데;
어떻게 사용하는지를 도저히 모르겠네요;ㅜㅜ
public class AlbumActivity extends ListActivity {
String selection = MediaStore.Audio.Media.IS_MUSIC + " != 0";
Cursor cursor;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
List<String> artists = getArtists();
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, artists);
setListAdapter(adapter);
}
public List<String> getArtists() {
List<String> list = new ArrayList<String>();
String[] cursorColumns = new String[] { MediaStore.Audio.Media._ID,
MediaStore.Audio.Media.ARTIST, MediaStore.Audio.Media.TITLE,
MediaStore.Audio.Media.DATA,
MediaStore.Audio.Media.DISPLAY_NAME,
MediaStore.Audio.Media.DURATION, MediaStore.Audio.Media.ALBUM };
cursor = this.managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
cursorColumns, selection, null, null);
if (cursor == null) {
return list;
}
if (cursor.moveToFirst()) {
int idColumn = cursor.getColumnIndex(MediaStore.Audio.Artists._ID);
// int titleColumn = cursor
// .getColumnIndex(MediaStore.Audio.Media.TITLE);
int artistColumn = cursor
.getColumnIndex(MediaStore.Audio.Artists.ARTIST);
int albumColumn = cursor
.getColumnIndex(MediaStore.Audio.Albums.ALBUM);
do {
// String artist = cursor.getString(artistColumn);
// String thisTitle = cursor.getString(titleColumn);
String album = cursor.getString(albumColumn);
list.add(album);
} while (cursor.moveToNext());
}
cursor.close();
return list;
}
}