2011年2月16日 星期三

在 ImageView 顯示 internet resource

直覺上要在 ImageView 顯示 http://ooo.xxx/nnn.jpg 此類網路圖片,
應該是用 ImageView::setImageUri() 才對,試驗以後卻發現沒反應。

查了一下資料發現這似乎是平台的限制,
在 Android 上 setImageUri 似乎不吃在 internet 上的資源,


// 無效的圖片來源,必須為 Package 資源、本機檔案
ImageView.setImageURI(Uri.parse("http://ooo.xxx/nnn.jpg"));


以下是另一種向 ImageView 指定 http 圖片的方法。


public static Bitmap GetURLBitmap(URL url)
{
  try
  {
    URLConnection conn = url.openConnection();
    conn.connect();
    InputStream isCover = conn.getInputStream();
    Bitmap bmpCover = BitmapFactory.decodeStream(isCover);
    isCover.close();
    return bmpCover;
  }
  catch (Exception e)
  {
    return null;
  }
}

public static void main(String[] args)
{
  ImageView imgView = new ImageView();
  imgView.setImageBitmap(GetURLBitmap(new URL("http://ooo.xxx/album.jpg")));
}

沒有留言:

張貼留言