메뉴 건너뛰기

조회 수 7414 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

URL을 이용해서 HTTP 기반으로 이미지를 다운로드하는 코드입니다.

일단, 인터넷 경로를 통해 다운을 받기 위해서는 AndroidManifest.xml파일에
permission을 추가해줘야 합니다.

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

      package="Image.Downloader"

      android:versionCode="1"

      android:versionName="1.0">


    <application android:icon="@drawable/icon" android:label="@string/app_name">

        <activity android:name=".ImageDownloader"

                  android:label="@string/app_name">

            <intent-filter>

                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />

            </intent-filter>

        </activity>

    </application>

    

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

</manifest>

 

 

 



그리고 다음과 같은 코드를 이용해서 URL을 통해 이미지를 다운 받을 수 있습니다.

01.private Bitmap GetImageFromURL(String strImageURL)
02.{
03.    Bitmap imgBitmap = null;
04.     
05.    try
06.    {
07.        URL url = new URL(strImageURL);
08.        URLConnection conn = url.openConnection();
09.        conn.connect();
10.         
11.        int nSize = conn.getContentLength();
12.        BufferedInputStream bis = new BufferedInputStream(conn.getInputStream(), nSize);
13.        imgBitmap = BitmapFactory.decodeStream(bis);
14.         
15.        bis.close();
16.    }
17.    catch (Exception e)
18.    {
19.        e.printStackTrace();
20.    }
21.     
22.    return imgBitmap;
23.}



전체 액티비티 소스는 다음과 같습니다.

01.package Image.Downloader;
02. 
03.import java.io.BufferedInputStream;
04.import java.io.InputStream;
05.import java.net.URL;
06.import java.net.URLConnection;
07. 
08.import org.apache.http.HttpEntity;
09.import org.apache.http.HttpResponse;
10.import org.apache.http.HttpStatus;
11.import org.apache.http.client.methods.HttpGet;
12. 
13.import android.app.Activity;
14.import android.graphics.Bitmap;
15.import android.graphics.BitmapFactory;
16.import android.net.http.AndroidHttpClient;
17.import android.os.Bundle;
18.import android.view.View;
19.import android.widget.Button;
20.import android.widget.ImageView;
21. 
22.public class ImageDownloader extends Activity {
23.    /** Called when the activity is first created. */
24.    @Override
25.    public void onCreate(Bundle savedInstanceState) {
26.        super.onCreate(savedInstanceState);
27.        setContentView(R.layout.main);
28.         
29.        Button btnDownload = (Button)findViewById(R.id.btnButton);
30.        btnDownload.setOnClickListener(myButtonClick);
31.    }
32.     
33.    Button.OnClickListener myButtonClick = new Button.OnClickListener()
34.    {
35.        public void onClick(View v)
36.        {
37.            Bitmap imgBitmap = GetImageFromURL("http://cfile25.uf.tistory.com/image/112CA2274C2220D2B47CB1");
38.            if (imgBitmap != null)
39.            {
40.                ImageView imgView = (ImageView)findViewById(R.id.ImageView);
41.                imgView.setImageBitmap(imgBitmap);
42.            }
43.        }
44.    };
45.     
46.    private Bitmap GetImageFromURL(String strImageURL)
47.    {
48.        Bitmap imgBitmap = null;
49.         
50.        try
51.        {
52.            URL url = new URL(strImageURL);
53.            URLConnection conn = url.openConnection();
54.            conn.connect();
55.             
56.            int nSize = conn.getContentLength();
57.            BufferedInputStream bis = new BufferedInputStream(conn.getInputStream(), nSize);
58.            imgBitmap = BitmapFactory.decodeStream(bis);
59.             
60.            bis.close();
61.        }
62.        catch (Exception e)
63.        {
64.            e.printStackTrace();
65.        }
66.         
67.        return imgBitmap;
68.    }
69.}

List of Articles
번호 제목 날짜 조회 수
177 ListView 사용시 특정 뷰로 생성 ( 그림 + 텍스트 ) file 2015.07.16 7478
176 알아놓으면 좋은 내용정리 2016.06.07 7465
» URL을 이용해서 이미지 다운로드 하기 2015.07.16 7414
174 폰갭(PhoneGap) 플러그인 사용하기 2015.06.29 7385
173 prepend(),append(),before(),after() 메서드 2014.10.20 7362
172 [안드로이드] 콘텍스트 메뉴 사용예제 file 2015.09.03 7350
171 안드로이드 ( Android ) APK 파일 생성하기 file 2015.07.17 7312
170 푸쉬 알림 기능. GCM (Google Cloud Messaging) 사용하기 (2) file 2015.07.16 7296
169 [안드로이드] 뷰(View)에 여백넣기 file 2015.07.17 7236
168 XmlPullParser 를이용하여 데이터 가져와보기!! 2014.08.28 7226
167 [안드로이드스튜디오] 단축키 2015.07.02 7164
166 [안드로이드] 뷰(View)의 너비와 높이 지정하기 file 2015.07.17 7143
165 네트워크 연결 상태 및 3G/WIFI 연결상태 체크하기 2016.03.18 7139
164 Invalid project description 문제 file 2015.07.01 7124
163 안드로이드 스튜디오 자동 임포트 하기 file 2015.07.09 7120
162 이미지 버튼(ImageButton) 만들기 2015.07.16 7116
161 [안드로이드] 레이아웃의 기본2 file 2015.07.16 7073
160 인텐트를 이용한 Activity간 데이터 전달 (사용자 정의 클래스) file 2015.07.16 7066
159 [Android 2.3] SharePreference 2015.07.01 7066
158 HTML5로 비디오 보여주기 Video Tag file 2014.09.04 7063
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved