Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 关于查询相册的Genres.Members.EXTERNAL\u CONTENT\u URI_Java_Android_Mediastore - Fatal编程技术网

Java 关于查询相册的Genres.Members.EXTERNAL\u CONTENT\u URI

Java 关于查询相册的Genres.Members.EXTERNAL\u CONTENT\u URI,java,android,mediastore,Java,Android,Mediastore,我对查询某一特定类型的所有专辑感兴趣。Android通过使用MediaStore.Audio.Artists.albums.getContentUri,可以轻松地对特定艺术家的专辑执行类似的查询,但就查询流派而言,MediaStore.Audio.genres.Members.getContentUri是提供的最佳方式,但用于从流派返回歌曲 在执行Genres.Members查询,然后使用MediaStore.Audio.Genres.Members.album返回唱片集名称后,您可以轻松返回某

我对查询某一特定类型的所有专辑感兴趣。Android通过使用
MediaStore.Audio.Artists.albums.getContentUri
,可以轻松地对特定艺术家的专辑执行类似的查询,但就查询流派而言,
MediaStore.Audio.genres.Members.getContentUri
是提供的最佳方式,但用于从流派返回歌曲

在执行
Genres.Members
查询,然后使用
MediaStore.Audio.Genres.Members.album
返回唱片集名称后,您可以轻松返回某个流派的每个成员的唱片集名称,但同样,这仅在您显示歌曲时才有用

我是否可以选择只返回某一类型的专辑,或者使用一个特殊的
Uri
?我还没有找到这方面的任何文档,所以如果有人有任何信息,我将不胜感激

给你:

    {
        int genreId = 2; // << Set Your Genre ID Here
        Uri uri = MediaStore.Audio.Albums.getContentUri("external");
        Log.i("XXX", "uri = " + uri.toString());
        Cursor cursor = null;
        try {

            String selection = "album_info._id IN "
                    + "(SELECT (audio_meta.album_id) album_id FROM audio_meta, audio_genres_map "
                    + "WHERE audio_genres_map.audio_id=audio_meta._id AND audio_genres_map.genre_id=?)";
            String[] selectionArgs = new String[] { String.valueOf(genreId) };
            String[] proj = { AlbumColumns.ALBUM };
            cursor = getContentResolver().query(uri, proj, selection,
                    selectionArgs, null);
            if (null != cursor) {
                Log.i("XXX", "cursor rows count = " + cursor.getCount());
                while (cursor.moveToNext()) {
                    Log.i("XXX", "  Album: " + cursor.getString(0));
                }
                cursor.close();
                Log.i("XXX", "cursor closed");
            }
        } catch (Exception ex) {
            Log.e("XXX", "Error Querying Database");
        } finally {
            if (cursor != null) {
                cursor.close();
            }
        }
    }
{
int genreId=2;//给您:

    {
        int genreId = 2; // << Set Your Genre ID Here
        Uri uri = MediaStore.Audio.Albums.getContentUri("external");
        Log.i("XXX", "uri = " + uri.toString());
        Cursor cursor = null;
        try {

            String selection = "album_info._id IN "
                    + "(SELECT (audio_meta.album_id) album_id FROM audio_meta, audio_genres_map "
                    + "WHERE audio_genres_map.audio_id=audio_meta._id AND audio_genres_map.genre_id=?)";
            String[] selectionArgs = new String[] { String.valueOf(genreId) };
            String[] proj = { AlbumColumns.ALBUM };
            cursor = getContentResolver().query(uri, proj, selection,
                    selectionArgs, null);
            if (null != cursor) {
                Log.i("XXX", "cursor rows count = " + cursor.getCount());
                while (cursor.moveToNext()) {
                    Log.i("XXX", "  Album: " + cursor.getString(0));
                }
                cursor.close();
                Log.i("XXX", "cursor closed");
            }
        } catch (Exception ex) {
            Log.e("XXX", "Error Querying Database");
        } finally {
            if (cursor != null) {
                cursor.close();
            }
        }
    }
{

int genreId=2;//谢谢,ra。我很好奇你是如何得到答案的。你只是熟悉
MediaStore
和SQL吗?你看过任何文档吗?这是我与MediaStore的第一笔交易,怎么做的?看看,剩下的很简单。啊,好的,我明白了。再次感谢。谢谢,ra。我很好奇你是如何得到答案的。你只是家人吗MediaStore和SQL的骗子?你看过任何文档吗?这是我第一次和MediaStore打交道,怎么做?看看,剩下的很简单。啊,好的,我明白了。再次感谢。