메뉴 건너뛰기

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

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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


SnowPhotoViewer.zip

 

[안드로이드] URL을 이용해서 이미지 다운로드 하기 - http://snowbora.com/402



그리고, 이 글의 원문은 

입니다. 영어가 되신다면 원문을 보는 것도 좋은 방법(?)입니다. +_+


원문에 가면 소스코드도 다운 받아서 돌려볼 수 있습니다. 그 중 중요한 파일 2가지는 여기에 올려둡니다.
(원본 파일입니다.)




물론, 저는 제가 쓰기 편하도록 코드들을 조금 수정했습니다.

수정한 ImageAdapter.java 파일은 다음과 같습니다.

01./*
02. * Copyright (C) 2010 The Android Open Source Project
03. *
04. * Licensed under the Apache License, Version 2.0 (the "License");
05. * you may not use this file except in compliance with the License.
06. * You may obtain a copy of the License at
07. *
09. *
10. * Unless required by applicable law or agreed to in writing, software
11. * distributed under the License is distributed on an "AS IS" BASIS,
12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13. * See the License for the specific language governing permissions and
14. * limitations under the License.
15. */
16. 
17.package snow.photo.viewer;
18. 
19.import android.view.View;
20.import android.view.ViewGroup;
21.import android.widget.BaseAdapter;
22.import android.widget.GridView;
23.import android.widget.ImageView;
24. 
25.public class ImageAdapter extends BaseAdapter {
26.    private final ImageDownloader imageDownloader = new ImageDownloader();
27.    private String[] strURLList;
28.     
29.    public ImageAdapter(String _strURLList[])
30.    {
31.        if (_strURLList != null)
32.        {
33.            strURLList = _strURLList;
34.        }
35.    }
36.     
37.    public int getCount()
38.    {
39.        return strURLList.length;
40.    }
41. 
42.    public String getItem(int position)
43.    {
44.        return strURLList[position];
45.    }
46. 
47.    public long getItemId(int position)
48.    {
49.        return strURLList[position].hashCode();
50.    }
51. 
52.    public View getView(int position, View view, ViewGroup parent)
53.    {
54.        if (view == null)
55.        {
56.            view = new ImageView(parent.getContext());
57.            view.setLayoutParams(new GridView.LayoutParams(100, 100));
58.            view.setPadding(5, 5, 5, 5);
59.        }
60. 
61.        imageDownloader.download(strURLList[position], (ImageView)view);
62.         
63.        return view;
64.    }
65. 
66.    public ImageDownloader getImageDownloader()
67.    {
68.        return imageDownloader;
69.    }
70.}


그리고 액티비티 내용은 다음과 같습니다.

01.package snow.photo.viewer;
02. 
03.import android.app.Activity;
04.import android.os.Bundle;
05.import android.view.View;
06.import android.widget.Button;
07.import android.widget.GridView;
08. 
09.public class SnowPhotoViewer extends Activity {
10.    /** Called when the activity is first created. */
11.    @Override
12.    public void onCreate(Bundle savedInstanceState)
13.    {
14.        super.onCreate(savedInstanceState);
15.        setContentView(R.layout.main);
16.         
17.        Button btnDownload = (Button)findViewById(R.id.btnButton);
18.        btnDownload.setOnClickListener(myButtonClick);
19.    }
20.     
21.    Button.OnClickListener myButtonClick = new Button.OnClickListener()
22.    {
23.        public void onClick(View v)
24.        {
25.            String [] strURLS = {"http://cfile25.uf.tistory.com/image/112CA2274C2220D2B47CB1",
26.                                "http://cfile24.uf.tistory.com/image/110475474D666C30382331",
27.                                "http://cfile10.uf.tistory.com/image/160475474D666C343CD190",
28.                                };
29.             
30.            GridView gv = (GridView)findViewById(R.id.gvGridView);
31.            ImageAdapter imgAdapter = new ImageAdapter(strURLS);
32. 
33.            gv.setAdapter(imgAdapter);
34.        }
35.    };
36.}


전체 프로젝트 파일 첨부합니다.


  1. No Image 16Jul
    by
    2015/07/16 Views 7413 

    이미지의 Orientation를 체크해서 이미지 회전하기

  2. No Image 16Jul
    by
    2015/07/16 Views 7759 

    화면 회전에 따른 애니메이션 효과 구현하기

  3. 화면 해상도에 관계없는 레이아웃(Layout) 만들기

  4. No Image 16Jul
    by
    2015/07/16 Views 5932 

    네트워크를 통해 받은 이미지를 파일로 저장하고, 크기 조절해서 불러오기

  5. No Image 16Jul
    by
    2015/07/16 Views 6471 

    특정 폴더에서 오래된 파일 삭제하기

  6. No Image 16Jul
    by
    2015/07/16 Views 6356 

    ScrollView의 활용

  7. ViewFlipper 사용하기

  8. URL을 이용해서 이미지 다운로드 하기 (멀티 쓰레드 이용)

  9. No Image 16Jul
    by
    2015/07/16 Views 7082 

    URL을 이용해서 이미지 다운로드 하기

  10. 인텐트를 이용한 Activity간 데이터 전달 (사용자 정의 클래스)

  11. No Image 16Jul
    by
    2015/07/16 Views 6283 

    서비스가 실행중인지 알아보는 방법

  12. No Image 16Jul
    by
    2015/07/16 Views 6810 

    안드로이드 android 개발 와이파이 유지 관련

  13. Android Login and Registration with PHP, MySQL and SQLite

  14. No Image 16Jul
    by
    2015/07/16 Views 6128 

    이미지 버튼 설정

  15. No Image 16Jul
    by
    2015/07/16 Views 7211 

    ListView 사용시 특정 뷰로 생성 ( 그림 + 텍스트 )

  16. 월별 캘린더에 일정 입력 및 조회 기능 리스트로 추가하기

  17. 서버에서 이미지 불러와서 이미지뷰에 띄우기

  18. No Image 16Jul
    by
    2015/07/16 Views 11024 

    안드로이드에서 JSP 를 사용하여 mysql 연동하기

  19. 안드로이드와 mysql 연동시키기. php 와 json 사용

  20. No Image 13Jul
    by
    2015/07/13 Views 12960 

    [DB]Android - DB 연동 기술 정리

Board Pagination Prev 1 2 3 4 5 6 7 8 9 Next
/ 9

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved