낭만 프로그래머
Android 에서 ImageView에 url을 사용하여 이미지 보여주기 본문
Android에서는 메인 쓰레드는 UI 관련하기 때문에 네트워크 관련한 작업을 할 수 없다. 때문에 별도의 쓰레드에서 작업을 해야 한다
private class DrawUrlImageTask extends AsyncTask<String, Void, Bitmap> { ImageView ivSample; public DrawUrlImageTask(ImageView ivSample) { this.ivSample = ivSample; } protected Bitmap doInBackground(String... urls) { String url = urls[0]; Bitmap bitmap = null; InputStream in = null; try { in = new java.net.URL(url).openStream(); bitmap = BitmapFactory.decodeStream(in); } catch (Exception e) { e.printStackTrace(); } finally { try { in.close(); } catch (IOException e) { e.printStackTrace(); } } return bitmap; } protected void onPostExecute(Bitmap bitmap) { ivSample.setImageBitmap(bitmap); } } |
onCreate 메소드와 같이 필요한 곳에 Task를 수행
new DrawUrlImageTask((ImageView) findViewById(R.id.ivSample)) .execute("http://localhost:8080/image/sample.png"); |
'Android' 카테고리의 다른 글
Android Studio 단축키 (0) | 2019.03.28 |
---|---|
Android 에서 Activity 화면 세로 / 가로 고정하기 (0) | 2019.03.28 |
Android 에서 JobIntentService를 사용하여 Background 작업하기 (0) | 2018.11.16 |
Android 에서 gradle 파일 내에 version 문제 (0) | 2018.11.15 |
Android 에서 문자열을 Clipboard 복사 / 붙여넣기(copy / paste) (0) | 2018.11.12 |