我已经花了很多时间寻找这个问题,现在我正处于无法寻求帮助的地步。
我试图在我使用的媒体播放器内显示专辑封面。我几乎一切功能齐全,包括其他元数据,播放专辑(对个别曲目)等 我的代码的时刻如下:如何获取并显示媒体播放器的album_art
public View getView(int position, View convertView, ViewGroup parent) {
System.gc();
View cellLayout = getLayoutInflater().inflate(R.layout.albumbrowsercell, null);
ImageView album_art = (ImageView) cellLayout.findViewById(R.id.albums_album_cover);
TextView album_title = (TextView) cellLayout.findViewById(R.id.albums_album_title);
TextView artist_title = (TextView) cellLayout.findViewById(R.id.albums_artist_title);
String albumName;
String artistName;
int albumID;
album_column_index = albumCursor.getColumnIndexOrThrow(MediaStore.Audio.Albums._ID);
albumCursor.moveToPosition(position);
albumID = albumCursor.getInt(album_column_index);
Uri sArtworkUri = Uri.parse(MediaStore.Audio.Albums.ALBUM_ART);
Uri uri = ContentUris.withAppendedId(sArtworkUri, albumID);
album_art.setImageURI(uri);
//code to do set text above etc.
return cellLayout;
logcat的是给类似的错误: I/System.out(12781):resolveUri在错误的位图上失败uri:album_art/224 因此,问题似乎与attachedID有关。我不知道还有什么可以称呼它的(我甚至试图用随机数字来看看我是否可以击中一个)。
我可能犯了一个根本性的错误。我大部分时间都花在了学习如何与内容提供商等合作上,而我对它们的评价甚至还不到50%(从未完成过数据库或Android)。
此外,它是只是我还是Android的文档,至少关于这个话题,漂亮的垃圾?
所以我查询它像这样? String [] columnValues = { \t \t MediaStore.Audio.Albums.ALBUM_ART, }; \t albumArtCursor = managedQuery(MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI,columnValues,null,null,null); – stephenfin 2011-02-25 01:09:49
我将添加一个示例。另外,我不会使用managedQuery,因为您可以再次立即关闭游标。 – EboMike 2011-02-25 01:11:21
这里。增加了一个例子。 – EboMike 2011-02-25 01:15:26