【问题标题】:Use Picasso to load album arts for a music player app in android使用 Picasso 为 android 中的音乐播放器应用加载专辑封面
【发布时间】:2014-05-24 11:39:58
【问题描述】:

我正在开发适用于 Android 的音乐播放器应用程序。我正在尝试使用 Picasso(一个外部库)来有效地加载专辑封面。但是专辑封面没有得到展示。代码没有错误,项目编译正确,但图像没有显示。
为此,我从 "MediaStore.Audio.AlbumColumns.ALBUM_ART" 中获取专辑封面 Uri。然后我在列表适配器的 getView() 方法中使用它:

Picasso.with(context).load(Uri.parse(album_art_uri)).into(myImageView);

我不知道这里有什么问题?请帮我弄清楚。

【问题讨论】:

  • 您也可以使用 Android Query,它非常易于使用且响应速度最快。
  • 我之前使用的是 Android Query,但它会加载图像位图,因为它们会消耗大量内存并且也会降低应用程序的速度。有人建议我使用毕加索,这就是为什么尝试一下。无论如何,感谢您的快速回复。
  • 是的,但是为什么你下载 Bitmap 进行 android 查询,你可以直接将图像加载到你的 ImageView Anjani,它真的非常好响应然后毕加索这就是我建议它的原因。如果你没有示例代码然后让我送你。
  • 实际上我一直在使用 android 查询来获取专辑封面的 Uri。然后使用 ImageView.setImageUri(Uri) 我实现了我想要的。但是这个 ImageView 只有 60dp*60dp。我使用的方法仍然加载图像,比如 500*500,因为它在这个 imageView 中并不是真正需要的。这就是为什么我正在寻找替代品。如果您提出的建议不是我所理解的,请告诉我。

标签: android picasso


【解决方案1】:
Uri musicUri = android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
    Cursor musicCursor = musicResolver.query(musicUri, null, null, null,
            null);
int album_id = musicCursor.getColumnIndex(android.provider.MediaStore.Audio.Media.ALBUM_ID);    
cursor = managedQuery(MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI, 
                    new String[] {MediaStore.Audio.Albums._ID, MediaStore.Audio.Albums.ALBUM_ART}, 
                    MediaStore.Audio.Albums._ID+ "=?", 
                    new String[] {musicCursor.getString(album_id)}, 
                    null);
            if (cursor.moveToFirst()) {
                thisAlbumArt = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Albums.ALBUM_ART));
            }

然后在 getView() 中按如下方式加载毕加索。它对我有用,但速度很慢

Picasso.with(mContext)
.load(Uri.parse("file://"+thisAlbumArt))
.resize(220,220)
.noFade().centerCrop()
.error(R.drawable.music)
.placeholder(R.drawable.blank_img)
.into(yourImageView);

参考链接:

How can I display Album Art using MediaStore.Audio.Albums.ALBUM_ART?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多