달력

2

« 2025/2 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
728x90
반응형

http://snowbora.com/403

이전 내용과 관련성이 있습니다.

[안드로이드] 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. {
28. };
29.
30. GridView gv = (GridView)findViewById(R.id.gvGridView);
31. ImageAdapter imgAdapter = new ImageAdapter(strURLS);
32.
33. gv.setAdapter(imgAdapter);
34. }
35. };
36.}


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

728x90
반응형
:
Posted by mapagilove