下载并在RemoteViews中显示图片

  在创建App Widget时,经常需要下载图片资源并显示到Widget上,下面给出几种下载并在RemoteViews中显示图片的方法。

1. 直接下载

  直接下载图片会比较耗时,注意不要放在Main Thread。对于更新Widget的场景,可以在IntentService中下载并显示图片。

2. 使用Picasso库

2.1. Main Thread

  目前Picasso已经加入了对RemoteViews的支持,可以在Main Thread使用如下的方法下载图像并加载到指定 appWidgetId 的 image_view :

2.2. Background Thread

  如果不在Main Thread,可以先用Picasso同步地下载图片,再加载到指定ImageView,如:

这里的 get() 会让Picasso同步地下载图片。