画像付き ListView で特定の画像だけダウンロードできない問題

インターネット経由で画像をダウンロードし、ListView で表示するアプリを作...

画像付き ListView で特定の画像だけダウンロードできない問題

mixiチェック

インターネット経由で画像をダウンロードし、ListView で表示するアプリを作っているときに、特定の画像だけダウンロードができないという現象に出くわしました。

monthly04.png
こんな感じで、特定の画像だけ読み込みが終わりません。

Logcat にはこんなメッセージが。

08-21 20:59:11.663: DEBUG/skia(2053): --- decoder->decode returned false

しかも不可解なことに、
Xperia では発生しないのに
IS05 と HTC Aria では発生してました。
 

結局たどりついたのは、画像をダウンロードするメソッド。
どうやらこの中で使っている InputStream のバグみたい。

修正前のNGメソッド↓

	// URLからBitmapへの変換
	public static Bitmap getBitmapFromURL(String src) {
	    try {
	        URL url = new URL(src);
	        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
	        connection.setDoInput(true);
	        connection.connect();
	        InputStream input = connection.getInputStream();
	        Bitmap myBitmap = BitmapFactory.decodeStream(input);
	        return myBitmap;
	    } catch (IOException e) {
	        e.printStackTrace();
	        return null;
	    }
	}


修正後のOKメソッド↓

	// URLからBitmapへの変換
	public static Bitmap getBitmapFromURL(String src) {
		
		HttpGet httpRequest =  new HttpGet(src);
		HttpClient httpclient = new DefaultHttpClient(); 
		HttpResponse response;
        
		try {
			response = (HttpResponse) httpclient.execute(httpRequest);
			HttpEntity entity = response.getEntity(); 
			BufferedHttpEntity bufHttpEntity = new BufferedHttpEntity(entity); 
			InputStream instream = bufHttpEntity.getContent(); 
			Bitmap bm = BitmapFactory.decodeStream(instream); 
			return bm;
		} catch (ClientProtocolException e) {
			e.printStackTrace();
			Log.v("CHECK", "failed! "+src);
			return null;
		} catch (IOException e) {
			e.printStackTrace();
			Log.v("CHECK", "failed! "+src);
			return null;
		} 

Xperia だけで開発していたら気づけなかったな・・・。

 

▽画像付き ListView で特定の画像だけダウンロードできない問題 のキーワード

▽次の記事、前の記事

1つのアプリでMapViewを2つ使ってはダメ? | DB への INSERT 処理の高速化

Android アプリ の 研究所 アンドロイド ナビ:新着記事

incorrect AVA format エラー(署名作成時) : 2012年2月25日
署名作成時に Keytool-error: java.io.IOExceptio...
アイデアがどんどん湧く! 9マスメモアプリ : 2011年11月13日
先日、2011年11月11日の11時11分。 この100年に一度の1ならび、 し...
Androidで電子書籍 : 2011年11月 5日
Androidアプリの開発者として また純粋にAndroidのファンとして 日夜...
Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE : 2011年11月 5日
Eclipse から実機にアプリをインストールするときに 下記のエラーが出ました...
iPhone4S へ iPhone3GS のデータが移行されない時の対処方法 : 2011年10月23日
iPhone4Sをやっと手に入れることができました。 購入したのは、64GB の...
たーかーのーつーめー : 2011年10月22日
「たーかーのーつーめー」 でおなじみの『鷹の爪団』。 その中で活躍する『吉田くん...
iPhone4S の新音声機能である Siri がすごいらしい : 2011年10月13日
iPhone4S のみで使える新機能である Siri がすごいと話題です。 ちな...
iPhone4S を買うなら SoftBank ? au ? : 2011年10月10日
ついに iPhone4S の予約が SoftBank と au から10/7(金...
画面サイズとVGAとかの対応表 : 2011年10月 7日
Andoridの端末には様々な画面サイズがあります。 それぞれの画面サイズに最適...
iPhone のように指にくっついてスライドするUI : 2011年10月 7日
iPhone では、画面に表示されている写真などを入れ替えるとき、指で左右にフリ...

▽画像付き ListView で特定の画像だけダウンロードできない問題 にトラックバックする

画像付き ListView で特定の画像だけダウンロードできない問題のトラックバックURL:
http://chu3.xsrv.jp/mt5/mt-tb.cgi/1118

今日のキーワード

当サイトのRSS

カテゴリー

Twitterボタン

アンドロイドナビについて / 記事投稿してみませんか? / イベント情報募集
Copyright (C) 2012 All Rights Reserved Android アプリ の 研究所 アンドロイド ナビ