Android如何扫描sdcard中的音乐文件,并加载到ListView中?

2025-04-29 07:00:45
推荐回答(1个)
回答1:

Android系统会自动把添加到SD卡上的歌曲添加到一个SQLite数据库里 我们要做的就是把歌曲的信息从这个数据库里查询出来
查询SD卡上的mp3歌曲信息
Cursor mAudioCursor = this.getContentResolver().query(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
null,// 字段 没有字段 就是查询所有信息 相当于SQL语句中的 “ * ”
null, // 查询条件
null, // 条件的对应?的参数
MediaStore.Audio.AudioColumns.TITLE);// 排序方式
// 循环输出歌曲的信息
List> mListData = new ArrayList>();
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);//专辑

String strTitle = mAudioCursor.getString(indexTitle);
String strARTIST = mAudioCursor.getString(indexARTIST);
String strALBUM = mAudioCursor.getString(indexALBUM);

HashMap nowMap = new HashMap();
nowMap.put("SongName", strTitle + "---" + strARTIST
+ "---" + strALBUM);
mListData.add(nowMap);
}
加载到ListView里就很简单了
请采纳。