2017-07-04 9 views
1

私はAndroid開発が初めてで、音楽プレーヤーを開発しようとしています。私はアルバムアートを含む曲データが含まれていますが、私は、リストに画像を追加する方法を見つけ出すことはできませんArrayListの(thisList)を作成しRecyclerViewに曲データを追加するには:(アンドロイドのカーソルから画像を取得するにはどうすればよいですか? getImageView?

if(musicCursor!=null && musicCursor.moveToFirst()){ 
     //get columns 
     int titleColumn = musicCursor.getColumnIndex 
       (android.provider.MediaStore.Audio.Media.TITLE); 
     int idColumn = musicCursor.getColumnIndex 
       (android.provider.MediaStore.Audio.Media._ID); 
     int artistColumn = musicCursor.getColumnIndex 
       (android.provider.MediaStore.Audio.Media.ARTIST); 
     int albumColumn = musicCursor.getColumnIndex 
       (MediaStore.Audio.Media.ALBUM); 

     int albumArtColumn = musicCursor.getColumnIndex 
       (android.provider.MediaStore.Audio.Albums.ALBUM_ART); 

     //add songs to list 
     do { 
      long thisId = musicCursor.getLong(idColumn); 
      String thisTitle = musicCursor.getString(titleColumn); 
      String thisArtist = musicCursor.getString(artistColumn); 
      String thisAlbum = musicCursor.getString(albumColumn); 

     //ImageView thisAlbumArt = musicCursor. ???? 

     theList.add(newSong(thisId,thisTitle, 
         thisArtist,thisAlbum,thisAlbumArt)); 
     } 
     while (musicCursor.moveToNext()); 
    } 

答えて

0

ことは、これを試してみてください:

Cursor artCursor = context.getContentResolver().query(
    MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI, 
    new String[] {MediaStore.Audio.AlbumColumns.ALBUM_ART}, 
    MediaStore.Audio.Media._ID+" =?", 
    new String[]{String.valueOf(albumId)}, 
    null); 
String albumArt; 
if(artCursor.moveToNext()) { 
    albumArt = "file://"+artCursor.getString(0); 
} else { 
    albumArt = null; 
} 
artCursor.close(); 

if(albumArt != null) { 
    BitmapFactory.decodeFile(new File(albumArt)); 
} 
関連する問題