메뉴 건너뛰기

조회 수 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 안드로이드 스튜디오 - getter/setter 메소드 자동생성 file 2021.03.29 583
196 안드로이드 스튜디오 actionbar(액션바) 사라짐 file 2020.12.14 614
195 [Android] 퍼미션 권한체크(테드퍼미션) 2021.09.14 616
194 안드로이드 스튜디오 - 싱글톤 패턴 (SingleTon Pattenr) 클래스 자동 생성 file 2021.03.29 621
193 안드로이드 - 갤러리에서 이미지 가져오기 2021.04.02 666
192 안드로이드 - AlertDialog 사용하여 알림창 띄우는 방법 총정리 file 2021.03.31 690
191 안드로이드 - 리사이클러뷰 (RecyclerView) notifyDataSetChanged 실행 시 깜빡 거리는 현상 2021.04.02 748
190 안드로이드에서 url 주소로 이미지 바로 불러오기 (Glide 사용) 2020.12.14 759
189 Firebase - 푸시알림 보내기 (2) 2021.09.30 768
188 안드로이드 - 문자열 배열 리소스 추가하기 <string-array> file 2021.03.31 811
187 안드로이드 - RatingBar를 통해 별점주기 file 2021.04.02 850
186 안드로이드 - Json 파싱하기 file 2021.04.02 851
185 ListView 리스트뷰 연습3 - 커스텀 리스트뷰 (Custom ListView) file 2020.12.14 906
184 안드로이드 - 문자열 리소스(Resource) 추가 및 참조하기 file 2021.03.31 906
183 안드로이드 - RecyclerView의 ViewType 구분하기 file 2021.04.02 934
182 안드로이드 - 플로팅 액션 버튼(Floating Action Button) 사용법 file 2021.04.02 971
181 하이브리드앱 기본 - WebView로 웹페이지 띄우기 file 2020.12.14 1025
180 WebView 작업할때 Net::ERR_UNKNOWN_URL_SCHEME 에러 발생할때 (전화걸기,문자보내기 안된다) 2020.12.14 1069
179 안드로이드 - KeyEvent(키 이벤트) 처리 file 2021.04.02 1214
178 안드로이드 - 텍스트뷰(TextView) 사용법 정리 file 2021.03.31 1254
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved