入力ストリームをWebからビットマップに変換する際に問題があります。問題は、入力イメージタイプが.BMP(ビットマップ)の場合にのみ発生します。その場合:bitmapFactory.decodeStreamはnullを返します。
この問題を解決する方法や、どこでデバッグを続行する必要がありますか?
プラットフォーム:Android(Honeycomb)
URLConnection conn = url.openConnection();
conn.connect();
inputStream = conn.getInputStream();
bufferedInputStream = new BufferedInputStream(inputStream);
bmp = BitmapFactory.decodeStream(bufferedInputStream);
@Amir、ログを指摘してくれてありがとう。行を発見しました:
decoder->decode returned false
これはよくある問題のようです。検索を行うと、解決策が見つかりました。
以前のコード:
URLConnection conn = url.openConnection();
conn.connect();
inputStream = conn.getInputStream();
bufferedInputStream = new BufferedInputStream(inputStream);
bmp = BitmapFactory.decodeStream(bufferedInputStream);
動作しているコード:
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);