我是Android的初学者,下面这段代码是我在别处看到的,但是我不知道是什么意思,麻烦大家帮忙加个注释:public class Localplayer {
public static List<String> musicList(ListView list,Context context) {

List<String> playURL = new ArrayList<String>(); //实例化一个集合对象
ArrayList<HashMap<String,String>> listItem = new ArrayList<HashMap<String,String>>();

Cursor mAudioCursor = context.getContentResolver().query(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
null,// 字段 没有字段 就是查询所有信息 相当于SQL语句中的 “ * ”
null, // 查询条件
null, // 条件的对应?的参数
MediaStore.Audio.AudioColumns.TITLE);// 排序方式

for (int i = 0; i < mAudioCursor.getCount(); i++) {
mAudioCursor.moveToNext();
// 找到歌曲标题和总时间对应的列索引
int indexTitle = mAudioCursor
.getColumnIndex(MediaStore.Audio.AudioColumns.TITLE);
int indexARTIST = mAudioCursor
.getColumnIndex(MediaStore.Audio.AudioColumns.ARTIST);
int indexALBUM = mAudioCursor
.getColumnIndex(MediaStore.Audio.AudioColumns.ALBUM);

HashMap<String,String> map = new HashMap<String,String>();
map.put("m_song", mAudioCursor.getString(indexTitle));
playURL.add(mAudioCursor.getString(mAudioCursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA)));
map.put("m_singer", mAudioCursor.getString(indexARTIST));
map.put("m_alb", mAudioCursor.getString(indexALBUM));

listItem.add(map);
}

SimpleAdapter listItemAdapter = new SimpleAdapter(context,listItem,
R.layout.musiclist,
new String[]{"m_song","m_singer","m_alb"},
new int[]{R.id.songname,R.id.singername,R.id.songalbum}); list.setAdapter(listItemAdapter);
return playURL;
}