Jac*_*yto 3 android mediastore
我想使用MediaStore在手机上获得所有艺术家的名字;已经有了整个列表,但由于有多个链接歌曲/艺术家,所以所有条目都有重复。有什么方法可以使用查询来获取每个查询中的一个,而没有任何重复项吗?
有我的查询:
String selection = MediaStore.Audio.Media.IS_MUSIC + " != 0";
String[] projection = {
MediaStore.Audio.Media.ALBUM,
MediaStore.Audio.Media.ARTIST,
MediaStore.Audio.Media.TITLE,
MediaStore.Audio.Media.DATA,
MediaStore.Audio.Media.DURATION
};
Cursor cursor = context.getContentResolver().query(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
projection,
selection,
null,
null);
Run Code Online (Sandbox Code Playgroud)
提前致谢 !
对于仍在寻找答案的人,我建议您执行以下操作:
String[] mProjection =
{
MediaStore.Audio.Artists._ID,
MediaStore.Audio.Artists.ARTIST,
MediaStore.Audio.Artists.NUMBER_OF_TRACKS,
MediaStore.Audio.Artists.NUMBER_OF_ALBUMS
};
Cursor artistCursor = mContentResolver.query(
MediaStore.Audio.Artists.EXTERNAL_CONTENT_URI,
mProjection,
null,
null,
MediaStore.Audio.Artists.ARTIST + " ASC");
Run Code Online (Sandbox Code Playgroud)
现在,您可以查询此光标以获取所有艺术家的名称。不会有任何重复。
我了解这通常不是“ 从MediaStore获取唯一值 ”的解决方案。但这将解决这个非常具体的问题。
说明:
您只需要查询正确的表,在本例中是“ Artist”表,而op正在查询“ Media”表。
希望这对某人有帮助。
| 归档时间: |
|
| 查看次数: |
3340 次 |
| 最近记录: |