ImageButton에 mysql 데이터베이스에서 여러 이미지를로드하는 안드로이드 응용 프로그램이 있습니다. bitmapfactory 이미지로드 실패
imageButton.setImageBitmap(fetchBitmap("http://www...~.jpg"));
내가 한 번 성공적으로 PNG를로드 할 수 있었다뿐만 아니라 지금 (JPG 이미지 적으로 어떤 성공을) 실패하지 않습니다.
public static Bitmap fetchBitmap(String urlstr) {
InputStream is= null;
Bitmap bm= null;
try{
HttpGet httpRequest = new HttpGet(urlstr);
HttpClient httpclient = new DefaultHttpClient();
HttpResponse response = (HttpResponse) httpclient.execute(httpRequest);
HttpEntity entity = response.getEntity();
BufferedHttpEntity bufHttpEntity = new BufferedHttpEntity(entity);
is = bufHttpEntity.getContent();
BitmapFactory.Options factoryOptions = new BitmapFactory.Options();
bm = BitmapFactory.decodeStream(is);
}catch (MalformedURLException e){
Log.d("RemoteImageHandler", "Invalid URL: " + urlstr);
}catch (IOException e){
Log.d("RemoteImageHandler", "IO exception: " + e);
}finally{
if(is!=null)try{
is.close();
}catch(IOException e){}
}
return bm;
}
나는이 오류를 얻을 : - -이 : 여기 다운로드 이미지를 사용하는 코드입니다 here, here 여러 다른 솔루션을 제안 이미 다양한 조합을 시도
D/skia(4965): --- SkImageDecoder::Factory returned null
는하지만 나던 나를 위해 일해. 내가 놓친 게 있니? 이미지는 내가 입력 한 웹 주소에 분명히 존재합니다.
감사합니다.
IO_BUFFER_SIZE은 무엇입니까? closeStream()은 단순히 연결을 닫습니까? – gkris
copy() 란 무엇입니까? – gkris
private static final int IO_BUFFER_SIZE = 4 * 1024를 선언합니다. 이것은 버퍼의 크기이며 copy()를 제거하십시오. –