MediaStore按文件夹排序CursorLoader

时间:2013-10-15 12:26:33

标签: android directory mediastore android-cursorloader

我理解如何使用游标加载器从MediaStore查询“音乐文件”。 我也没有看到查询特定专辑,流派,艺术家的歌曲的问题。但是我不知道如何根据它们所在的目录来查询MediaStore的歌曲。

final Uri sourceUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
CursorLoader cursorLoader = new CursorLoader(
                context, 
                sourceUri, 
                null, 
                null, 
                null, 
                MediaStore.Audio.Media.TITLE);

另外,如果你可以帮助我在相同的查询中获得专辑,流派等的歌曲数量,那就太棒了。

感谢您提前提供任何帮助。

2 个答案:

答案 0 :(得分:1)

Michal,你的问题和例子令人困惑。你询问音乐,但你的代码是关于图像。 无论如何,要获得歌曲目录

Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
    final String path = MediaStore.Audio.Media.DATA;

所以当你有一个光标说c返回_DATA时,

  String strpath = (c.getString(c.getColumnIndex(MediaStore.Audio.Media._DATA)));

这将返回完整路径,包括歌曲标题本身。

获取相册的曲目数量(其中c是返回的光标)

            String strnosongs = (c.getString(c
                .getColumnIndex(MediaStore.Audio.Albums.NUMBER_OF_SONGS)));

我希望这会有所帮助。

答案 1 :(得分:0)

对于当前的API(18),无法使用内置工具进行此操作。这需要构建一些东西(比如自己的数据库)来帮助解决这个问题或使用其他方法(比如使用“文件浏览器”)。