1

私は曲を含むフォルダ名を含むArrayListを持っています:

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

ここで、これらの両方のフォルダーから曲を取得するマネージド クエリを実行したいと考えています。現在、一度に 1 つのフォルダーしか取得できません。

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/%";

しかし、searchableDir arraylist 内のすべてのフォルダーからトラックを取得する単一の managedquery を作成したいと考えています。提案してください。

前もって感謝します。

4

1 に答える 1

0

以下を使用して、 sdcard で利用可能なすべてのオーディオ ファイルを取得します。

文字列[] STAR = { "*" };
Uri allaudiosong = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
文字列 audioselection = MediaStore.Audio.Media.IS_MUSIC + "!= 0";
カーソル cursor = mContext.managedQuery(alaudiosong, STAR, audioselection, null, null);

于 2012-11-20T08:56:30.570 に答える