일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- android facebook
- 구포에서 삼량진
- android imageView zoom
- 삼량진 자전거
- 부산에서 창원 자전거
- 안드로이드 이미지 로드
- android loadImage
- 자전거
- spring
- httpclient post
- elk stack
- c언어 구조체
- NetworkImageView
- 로드바이크
- 낙동강 종주
- spring boot
- 삼량진
- 구포에서 자전거
- 부산에서 창원
- image zoom
- laravel
- 구조체
- C언어
- 창원에서 부산
- ImageLoad
- android ImageLoad
- mysql
- volley
- 자바
- workbench
Archives
- Today
- Total
은근한
Android LoadImage (AsyncTask) 본문
안드로이드에서 이미지 URL을 불러오는 코드 입니다.
쓰레드를 사용하기 보다는 AsyncTask를 사용했습니다.
기본생정자 말고 오버로딩된 생성자에서 Context는 사용하는 Activity 이고 ImageView는 이미지뷰를 정의한 이미지뷰입니다.
AsyncTask에서 doinBackground를 실행하려면
사용할 클래스에서 .execute를 할때 .execute("불러올 url을 String값으로 넣어줍니다.")
그럼 doinBackground에 매개변수인 args에서 값을 받아서 쓰게 됩니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | package android.app.service; import java.io.InputStream; import java.net.URL; import android.app.ProgressDialog; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.AsyncTask; import android.widget.ImageView; import android.widget.Toast; public class LoadImage extends AsyncTask<String, String, Bitmap>{ private Context context; public LoadImage(Context context, ImageView imgv){ this.context = context; img = imgv; } public LoadImage(){ } public LoadImage(ImageView imgv){ img = imgv; } // Bitmap ImageView img; Bitmap bitmap; ProgressDialog pDialog; @Override protected void onPreExecute(){ super.onPreExecute(); pDialog = new ProgressDialog(context); pDialog.setMessage("Loading Image..."); //pDialog.show(); // } @Override protected Bitmap doInBackground(String... args) { // TODO Auto-generated method stub try{ bitmap = BitmapFactory.decodeStream((InputStream)new URL(args[0]).getContent()); } catch(Exception e){ e.printStackTrace(); } return bitmap; } protected void onPostExecute(Bitmap image){ if(image != null){ img.setImageBitmap(image); pDialog.dismiss(); }else{ pDialog.dismiss(); Toast.makeText(context, "Image Does not exist..", Toast.LENGTH_SHORT).show(); } } } |