单个mangedQuery扫描多个文件夹中的音频文件

时间:2012-07-02 16:11:58

标签: java android sqlite

我有一个包含文件夹名称的ArrayList,其中包含歌曲:

private ArrayList<String> searchableDir = new ArrayList<String>();
searchableDir.add("/mnt/sdcard/Tracks/U2/");
searchableDir.add("/mnt/sdcard/Tracks/Coldplay/");

现在我想运行一个托管查询,它将从这两个文件夹中获取歌曲。 目前我只能一次获取一个文件夹:

String abc = "/mnt/sdcard/Tracks/U2/";
cursor = managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
            projection, MediaStore.Audio.Media.DATA + " LIKE \""
            + abc + "%\"", null, MediaStore.Audio.Media.TITLE
            + " ASC");

以上查询的工作方式如下:

select _id from audio where _data like "/mnt/sdcard/Tracks/U2/%";

但我想创建一个单独的managedquery,它将从searchableDir arraylist中的所有文件夹中获取曲目。 请建议。

提前致谢。

1 个答案:

答案 0 :(得分:0)

使用以下命令获取sdcard中的所有音频文件:

  

String [] STAR = {“*”};
              Uri allaudiosong =   MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
  字符串audioselection =   MediaStore.Audio.Media.IS_MUSIC +“!= 0”;
  光标光标=   mContext.managedQuery(allaudiosong,STAR,audioselection,null,null);