Android用の音楽プレーヤーを実装しており、検索機能を実装したいと考えています。検索では、アルバム、アーティスト、およびタイトルを探す必要があり、それらを別の方法で表示したいと考えています。また、たとえばアーティストとタイトルが見つかった場合、ユーザーが 1 つの項目をクリックすると、アプリは適切に反応できるはずです (アーティスト = 彼のすべての曲を表示、タイトル = 曲を再生)。
MediaStore プロバイダー ( http://developer.android.com/reference/android/provider/MediaStore.Audio.Media.html ) があることは承知していますが、これよりも多くの機能が必要なようです。このようなクエリを実行すると、アーティストまたはタイトルが一致したかどうかはわかりません。
String[] projection = {
BaseColumns._ID,
MediaStore.Audio.Media.MIME_TYPE,
MediaStore.Audio.Artists.ARTIST,
MediaStore.Audio.Albums.ALBUM,
MediaStore.Audio.Media.TITLE,
};
Cursor c = getContentResolver().query(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
projection, MediaStore.Audio.Media.TITLE + "
LIKE "+ "'%"+query+"%' OR " + MediaStore.Audio.Media.ARTIST + "
LIKE "+ "'%"+query+"%'", null, MediaStore.Audio.Media.TITLE);
私は今、中央のアンドロイド音楽データベースに基づいてインデックスを作成することを考えていますが、これが可能かどうかはわかりません.
たぶん、これには簡単な解決策がありますか、それともすでにこのようなものを実装している人はいますか?