J'ai des problèmes pour convertir un flux d'entrée du Web en bitmap. Le problème se produit uniquement lorsque le type d'image d'entrée est .BMP (bitmap). Dans ce cas: bitmapFactory.decodeStream renvoie null.
Des conseils sur la façon de résoudre ce problème ou où dois-je continuer mon débogage?
Plateforme: Android (Honeycomb)
URLConnection conn = url.openConnection();
conn.connect();
inputStream = conn.getInputStream();
bufferedInputStream = new BufferedInputStream(inputStream);
bmp = BitmapFactory.decodeStream(bufferedInputStream);
Merci @Amir d'avoir signalé le journal. Découvert une ligne:
decoder->decode returned false
Cela semble être un problème courant. En faisant une recherche, j'ai trouvé une solution.
Mon code précédent:
URLConnection conn = url.openConnection();
conn.connect();
inputStream = conn.getInputStream();
bufferedInputStream = new BufferedInputStream(inputStream);
bmp = BitmapFactory.decodeStream(bufferedInputStream);
Code qui fonctionne:
HttpGet httpRequest = null;
try {
httpRequest = new HttpGet(url.toURI());
} catch (URISyntaxException e) {
e.printStackTrace();
}
HttpClient httpclient = new DefaultHttpClient();
HttpResponse response = (HttpResponse) httpclient.execute(httpRequest);
HttpEntity entity = response.getEntity();
BufferedHttpEntity bufHttpEntity = new BufferedHttpEntity(entity);
InputStream instream = bufHttpEntity.getContent();
bmp = BitmapFactory.decodeStream(instream);