본문 바로가기

DEVELOPMENT/ANDROID

[android] ImageView에 외부(URL)에서 이미지 받아 삽입하기

외부 url을 받아와 ImageView에 넣는 방법.


  1. public class Splash extends Activity
  2. {
  3.     private ImageView mImageView;
  4.     private Drawable mDrawable;
  5.  
  6.     @Override
  7.     protected void onCreate(Bundle savedInstanceState)
  8.     {
  9.         super.onCreate(savedInstanceState);
  10.         setContentView(R.layout.main);
  11.  
  12.         mImageView= (ImageView)findViewById(R.id.Img);        // ImageView RegID
  13.  
  14.         mDrawable = loadImage("image URL을 적으세요.");        // 이미지 URL   
  15.         mImageView.setImageDrawable(mDrawable);
  16.     }
  17.  
  18.     private Drawable loadImage(String url)
  19.     {
  20.         try
  21.         {
  22.             InputStream is = (InputStream)new URL(url).getContent();
  23.             Drawable d = Drawable.createFromStream(is, "srcName");
  24.  
  25.             return d;
  26.         }
  27.         catch(Exception e)
  28.         {
  29.             return null;
  30.         }
  31.     }
  32. }

==============================================================================

android.os.NetworkOnmainThreadException

에러 발생 시 해결


안드로이드 하위버전에서는 잘 작동되는데 3.0 허니컴 이후부터는 작동이 안된다. 

정책이 바꼈다. 

안드로이드 모든 통신은 스레드로 돌려야 한다는게.. 검색결과.


링크 == >