Android MediaStore.Audio.Media データベースにクエリを実行しようとしています。デバイス上の曲のパス (データベースのデータ列) を含む文字列の ArrayList である「プレイリスト」があります。プレイリストにはいくつかの曲しかありません (もちろん、現在デバイス上にあるすべての曲ではありません)。カーソルがデータベースからアーティスト、タイトル、アルバム ID 情報を返すようにします。クエリ自体は問題ではありません。選択文字列を作成し、プレイリストのエントリを選択引数として配置するだけで、正常に動作します。
問題は、データを返す順序です。null が「order by」引数として設定されている場合、カーソルはデータを昇順で返します。プレイリスト内の曲はランダムな順序になっているため、その順序で情報が返される必要があります。
プレイリストのエントリごとにデータベースに個別にクエリを実行しようとしましたが、うまくいき、正しい順序で情報が得られましたが、もちろん、かなりの量であり、かなり遅いという意味です。
単一のクエリでこれを行う方法はありますか?