在android中从MediaStore查询相册
我正在android中开发一个简单的媒体应用程序。我想查询设备上可用媒体的相册。当我使用DISTINCT关键字查询相册的name时,我成功地检索到了唯一的名称,但我们还需要其他数据,如相册艺术,等,当我查询超过1列时,它会给出重复的值 这是我的密码在android中从MediaStore查询相册,android,android-mediaplayer,android-contentprovider,android-cursor,Android,Android Mediaplayer,Android Contentprovider,Android Cursor,我正在android中开发一个简单的媒体应用程序。我想查询设备上可用媒体的相册。当我使用DISTINCT关键字查询相册的name时,我成功地检索到了唯一的名称,但我们还需要其他数据,如相册艺术,等,当我查询超过1列时,它会给出重复的值 这是我的密码 String[] columns = { Albums.ALBUM, Albums._ID, Albums.ARTIST }; String selection = null; String[] selectionAr
String[] columns = { Albums.ALBUM, Albums._ID, Albums.ARTIST };
String selection = null;
String[] selectionArgs = null;
cursor = resolver.query(EXTERNAL, columns, selection, selectionArgs,
null);
if (cursor == null) {
} else if (!cursor.moveToFirst()) {
Toast.makeText(context, "No Media on Device", Toast.LENGTH_SHORT)
.show();
} else {
do {
String album_name = cursor.getString(0);
album = new HashMap<String, Object>();
album.put("AlbumName", album_name);
album_list.add(album);
} while (cursor.moveToNext());
}
String[]columns={Albums.ALBUM,Albums.\u ID,Albums.ARTIST};
字符串选择=null;
字符串[]selectionArgs=null;
cursor=resolver.query(外部、列、选择、selectionArgs、,
无效);
if(游标==null){
}如果(!cursor.moveToFirst()),则为else{
Toast.makeText(上下文,“设备上无媒体”,Toast.LENGTH\u SHORT)
.show();
}否则{
做{
String album_name=cursor.getString(0);
album=新HashMap();
唱片集名称(“唱片集名称”,唱片集名称);
相册列表。添加(相册);
}while(cursor.moveToNext());
}
请帮忙
谢谢你刚刚改变了这个
cursor = resolver.query(EXTERNAL, columns, selection, selectionArgs,
null);
到
cursor = resolver.query(Albums.EXTERNAL_CONTENT_URI, columns, selection, selectionArgs,
null);