2012-01-24 1 views
0
私がしようとすると、以下のようにURLから画像をダウンロードするには、かなり「標準」のコードを使用してい

Bitmapfactoryエラー

Bitmap bitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length); 

それがジャンプ:

private Bitmap downloadBitmap(String url){ 

     try{ 
     HttpUriRequest request = new HttpGet(url); 
     HttpClient httpClient = new DefaultHttpClient(); 
     HttpResponse response = httpClient.execute(request); 

     StatusLine statusLine = response.getStatusLine(); 
     int statusCode = statusLine.getStatusCode(); 
     if (statusCode == 200) { 
      HttpEntity entity = response.getEntity(); 
      byte[] bytes = EntityUtils.toByteArray(entity); 

      Bitmap bitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length); 
      return bitmap; 
     } else { 
      return null; 
     } 
     } catch (Exception e){ 
      e.printStackTrace(); 
      return null; 

     } 
    } 
} 

それは、この行で失敗キャッチブロック

Eclipseでデバッグを使用していて、OKを実行しているようで、変数 'bytes'にはたくさんのものがあるようですが、渡すURLにはブラウザの画像が表示されます。

問題はここにあるかもしれませんが、もっと重要なことは自分自身で(Eclipse、Java、Androidの新機能)どのように自分でデバッグすることができますか? e.printStackTrace()で何をすべきか分かりません。私は実際に(グーグルの多くにもかかわらず)何かを見ることができるように、Logcatに示すものと何がEclipseのコンソールにありません

おかげ

+1

ウィンドウに移動 - > show view - > LogCatを選択すると、LogやprintStackTraceなどの呼び出しの出力を確認できます。スタックトレースでは、どの行の例外が発生したのか、どのような例外が発生したのかなど、多くの情報が表示されます。この情報を使用すると、あなた(または私たち)が実際の原因を見つけるのがずっと簡単になります。 – Jave

+0

LogCatにはエラー情報がないし、問題を指し示すものも、EclipseエラーログもEclipseコンソールもありません。 – Mitch

+0

その場合、キャッチブロックになることは確実ですか?また、LogCatにエラーをブロックするアクティブなフィルタがないことを確認してください。 – Jave

答えて

0

あなたが解読しようとしている画像は、カラープロファイルが含まれていないことを確認。それは私に起こった。 BitmapFactoryは、それらを処理する方法や意味のあるエラーがないとクラッシュする方法を知らない。

カラープロファイルを確認するには、Photoshopがあればそれを開こうとすると、カラープロファイルをどうするかを尋ねる画面がポップアップすることがあります。また、Macでは、ファイルを右クリックして「詳細情報」を選択すると、カラープロファイル行が表示されます。

+0

カラープロファイルのようなものは見えません。また、jpgイメージとpngイメージで試してみました。それらの? – Mitch

+0

カラープロファイルの行が表示されない場合は、おそらく同じ問題ではありません。しかし、私は同じ症状があり、これが解決したので、私はチャイムに入っていなければなりませんでした。 – Yahel

+0

あなたのご意見ありがとうございました! – Mitch

0

デバッガは一般的にreturn文に行きますが、実行されません...通常の関数でも試すことができます...例外があるのを見つける最も良い方法は、 catchブロック内にログを記録します。

関連する問題