반응형
private class DownloadTask extends AsyncTask<String, Integer, Bitmap> {
Bitmap bitmap = null;

@Override
protected Bitmap doInBackground(String... params) {

try {
bitmap = downloadUrl(params[0]);

} catch (Exception e) {
Log.d("Background Task", e.toString());
}

return bitmap;
}

@Override
protected void onPostExecute(Bitmap result) {
ImageView iView = (ImageView)findViewById(R.id.iv_image);
iView.setImageBitmap(result);
Toast.makeText(getBaseContext(), "Image downloaded successfully", Toast.LENGTH_LONG).show();
}
}
private Bitmap downloadUrl(String strUrl) throws IOException {

Bitmap bitmap = null;
InputStream iStream = null;
try {

URL url = new URL(strUrl);
HttpURLConnection urlConnection = (HttpURLConnection)url.openConnection();
urlConnection.connect();
iStream = urlConnection.getInputStream();
bitmap = BitmapFactory.decodeStream(iStream);

} catch (Exception e) {
Log.d("Exception while downloading url", e.toString());
} finally {
iStream.close();
}

return bitmap;
}

버튼 클릭 이벤트에서 다음을 호출한다.

@Override
public void onClick(View v) {
EditText etUrl = (EditText)findViewById(R.id.et_url);

DownloadTask downloadTask = new DownloadTask();
downloadTask.execute(etUrl.getText().toString());

}

매니페스트 파일에 인터넷을 사용할 수 있는 권한을 요청한다.(AndroidManifest.xml)

<uses-permission android:name="android.permission.INTERNET"/>


반응형

'Android' 카테고리의 다른 글

android:gravity 와 android:layout_gravity이 차이.  (0) 2016.02.19
android:layout_weight 설정.  (0) 2016.02.19
안드로이드 권한  (0) 2016.01.18
inputType 속성 값.  (0) 2015.12.26
안드로이드에서 크기를 나타내는 단위.  (0) 2015.12.26
Posted by 컴스터
,