메뉴 건너뛰기

조회 수 7407 추천 수 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
번호 제목 날짜 조회 수
197 폰갭(PhoneGap) & jQuery Mobile 로 안드로이드 어플 개발 file 2015.06.29 7839
196 안드로이드스택(Android Stack) 확인 file 2016.06.10 7778
195 문자를 음성으로 변환(TTS)에 대해 알아보자 file 2015.07.01 7768
194 안드로이드 스튜디오 - 줄번호 표시하기 1 file 2015.07.03 7755
193 Java Applet과 javascript와의 통신 2015.06.29 7754
192 HTML5 드래그 앤 드롭 하기 Drag and Drop file 2014.09.04 7748
191 Android 와 JSP 간 파라미터 암복호화 (2) 2016.05.26 7741
190 암시적 인텐트를 사용한 인터넷열기, 전화걸기, 문자보내기 [Intent (인텐트)] file 2016.06.07 7736
189 안드로이드 EditText 필터링 검색 file 2015.12.14 7686
188 [안드로이드] 화면추가 버튼 리스너 file 2015.07.22 7681
187 Activity Data Transfor/ 액티비티 이동간에 데이터 전송하기 file 2016.06.07 7676
186 안드로이드 스튜디오 - rendering problem 해결법 file 2015.07.10 7661
185 이미지의 Orientation를 체크해서 이미지 회전하기 2015.07.16 7658
184 버튼(Button) 패딩 제거 2016.06.10 7651
183 [Android 2.3] spinner file 2015.07.01 7647
182 Intent (인텐트) 2016.06.07 7626
181 안드로이드 로딩화면 샘플 file 2015.07.26 7576
180 manifest 의 launchMode 속성 2015.08.11 7576
179 안드로이드 webview (웹뷰) 개발 #4 - 멀티터치 ( 확대 / 축소 ) 적용 file 2015.07.17 7552
178 ListView 사용시 특정 뷰로 생성 ( 그림 + 텍스트 ) file 2015.07.16 7478
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved