2012-08-02 5 views
0

이미지 갤러리를 만들려면 다음을 사용하고 있지만 SD 카드 대신 웹에서 이미지를 사용하고 싶습니다. 이것을 할 수있는 방법이 있습니까? 현재 코드에는 이미지에 정수 값이 필요합니다. 아니면 먼저 SD에 이미지를 다운로드해야합니까? 당신이 "setImageResource"를하고있는 곳 "setImageBitmap을"웹에서 이미지 갤러리로 이미지로드

URL url = new URL("http://www.website.com/image.jpg"); 
Bimtap bmp = BitmapFactory.decodeStream(url.openConnection() 
        .getInputStream()); 

는 그런 다음 변경해야하고이되면 'BMP'개체를 공급 :

public class viewimages extends Activity { 

private Gallery gallery; 
private ImageView imgView; 

private Integer[] Imgid = { 
     R.drawable.a_1, R.drawable.a_2, R.drawable.a_3, R.drawable.a_4 
}; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.viewimages); 

    imgView = (ImageView)findViewById(R.id.ImageView01);  
    imgView.setImageResource(Imgid[0]); 

    gallery = (Gallery) findViewById(R.id.examplegallery); 
    gallery.setAdapter(new AddImgAdp(this)); 

    gallery.setOnItemClickListener(new OnItemClickListener() { 
     public void onItemClick(AdapterView parent, View v, int position, long id) { 
      imgView.setImageResource(Imgid[position]); 
     } 
    }); 


} 

public class AddImgAdp extends BaseAdapter { 
    int GalItemBg; 
    private Context cont; 

    public AddImgAdp(Context c) { 
     cont = c; 
     TypedArray typArray = obtainStyledAttributes(R.styleable.GalleryTheme); 
     GalItemBg = typArray.getResourceId(R.styleable.GalleryTheme_android_galleryItemBackground, 0); 
     typArray.recycle(); 
    } 

    public int getCount() { 
     return Imgid.length; 
    } 

    public Object getItem(int position) { 
     return position; 
    } 

    public long getItemId(int position) { 
     return position; 
    } 

    public View getView(int position, View convertView, ViewGroup parent) { 
     ImageView imgView = new ImageView(cont); 

     imgView.setImageResource(Imgid[position]); 
     imgView.setLayoutParams(new Gallery.LayoutParams(80, 70)); 
     imgView.setScaleType(ImageView.ScaleType.FIT_XY); 
     imgView.setBackgroundResource(GalItemBg); 

     return imgView; 
    } 
} 

    } 
+0

내가 여기이 질문에 대답하는 데 도움이 예,

List<String> imageNames = new ArrayList<String>(); imageNames.add("image.jpg"); imageNames.add("thisPhoto.jpg"); //etc. until you've added all images for (int i = 0; i < imageNames.size(); i++){ URL url = new URL("http://www.website.com/" + imageNames.get(i)); Bimtap bmp = BitmapFactory.decodeStream(url.openConnection() .getInputStream()); } 

희망 : http://stackoverflow.com/questions/11756358/i-have-an-image-path-image-is-on-another -server-i-want-to-get-from-that/11756515 # 11756515 –

+0

[Universal Image Loader] (https://github.com/nostra13/Android-Universal-Image-Loader)를 보시길 바랍니다 – Praveenkumar

답변

2

당신이 뭔가를 할 수 있습니다 다운로드 및로드되었습니다.

[편집]

그것은 당신의 안드로이드 매니페스트 인터넷 권한이 있는지 확인하는 것도 중요합니다.

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

[주석 ​​질문에 대한 편집]

여러 이미지에 대해이 작업을 수행 할 수 및 이미지가 이미지 0001.jpg 같은 것을하지 기본적으로 경우 (AN ID_NUMBER을 기반으로하지 않는 경우 , 0002.jpg 등)는 모든 항목의 이름을 보유 할 문자열 ArrayList를 만든 다음 반복합니다.

+0

고마워, 첫 번째 이미지를로드하는 것이 좋다. 나머지는 어떨까? – user1197941

+0

업데이트 된 답변보기 – RyanInBinary

관련 문제