Kan inte läsa bild?

Diskussion i 'Frågor, support och diskussion' startad av mrmozart, 12 feb 2010.

  1. mrmozart

    mrmozart Teen Droid Medlem

    Blev medlem:
    9 jul 2009
    Inlägg:
    279
    Mottagna gillanden:
    1

    MINA ENHETER

    Hej,
    Har en liten app på gång som hämtar bilder från nätet. Vissa bilder på samma sida går bra, men för andra får jag inget data (bm nedan blir null) :(

    Jag får ingen exception eller något fel, utan det blir bara null. Teorier om varför? Sitter i emulatorn än så länge, så det bör inte vara nåt anslutningsproblem.

    Kod:
    public static Bitmap getBitmap(String id, String type){
    	Bitmap bm = null;
    	try {
    		URL url = null;
    		if(type.equals(IMAGE_TYPE_THUMB)){
    			url = new URL("http://1x.com/pictures/"+id+"-thumb.jpg");
    		} else {
    			url = new URL("http://1x.com/OEfullSize/"+id+"-fullsize.jpg");
    		}
    		URLConnection conn = url.openConnection();
    		conn.connect();
    		InputStream is = conn.getInputStream();
    		BufferedInputStream bis = new BufferedInputStream(is);
    		bm = BitmapFactory.decodeStream(bis);
    		bis.close();
    		is.close();
    	} catch (Exception e) {
    		e.printStackTrace();
    	}
    	return bm;
    }
     
  2. mrmozart

    mrmozart Teen Droid Medlem

    Blev medlem:
    9 jul 2009
    Inlägg:
    279
    Mottagna gillanden:
    1

    MINA ENHETER

    Hittade en lösning:

    Kod:
    Bitmap bm = null;
    try {
    	HttpGet httpRequest = null;
    	
    	URL url = null;
    	if(type.equals(IMAGE_TYPE_THUMB)){
    		url = new URL("http://1x.com/pictures/"+id+"-thumb.jpg");
    	} else {
    		url = new URL("http://1x.com/OEfullSize/"+id+"-fullsize.jpg");
    	}
    			
    	httpRequest = new HttpGet(url.toURI());
    			
    	HttpClient httpclient = new DefaultHttpClient();
            HttpResponse response = (HttpResponse)httpclient.execute(httpRequest);
    
            HttpEntity entity = response.getEntity();
            BufferedHttpEntity bufHttpEntity = new BufferedHttpEntity(entity);
            InputStream instream = bufHttpEntity.getContent();
            bm = BitmapFactory.decodeStream(instream);
    } catch (Exception e) {
    	e.printStackTrace();
    }
    return bm;