2017-09-17 23 views
-1

URLの画像を読み込み、Bitmapとして表示する方法については、Stack Overflowとインターネットで調べていますa .pngファイル)。私は指示に従い、以下のようなコードを持っています。コードはAsyncTaskのクラスにあります。HttpUrlConnection(PNGからビットマップ)の画像を読み込むことができません.bitmapのinputStreamはnullです

try { 
    imageUrl = new URL(currentApp.getImageURL()); 
    HttpURLConnection urlConnection = (HttpURLConnection) 
    imageUrl.openConnection(); 
    urlConnection.setRequestMethod("GET"); 
    urlConnection.setDoInput(true); 

    ***urlConnection.connect(); 
    InputStream inputStream = urlConnection.getInputStream(); 
    imageBitmap = BitmapFactory.decodeStream(inputStream); 
    viewHolder.tvImage.setImageBitmap(imageBitmap); 
    inputStream.close();*** 

    } catch (MalformedURLException e) { 
     Log.d(TAG, "getView: " + e.toString()); 
    } catch (IOException e) { 
     Log.d(TAG, "getView: " + e.toString()); 
    } finally { 

} 

私は、私を支援するためのデバッグツールを使用するように、私は、接続からの応答コードが200であることがわかったが、imageBitmap = BitmapFactory.decodeStream(inputStream);で、私はimageBitmapにnull値を取得します。

ありがとうございます!

+0

このコードを試してみてください。 –

+0

あなたはどのスレッド内でもコードを実行していますか? –

+0

あなたのログカートメッセージは何ですか? –

答えて

0

Decode Stream戻り値入力ストリームがnullの場合、またはビットマップのデコードに使用できない場合。私は私のためにYouTubeのプレイリストとその作業110%の罰金のサムネイルをダウンロードしています、別のURLから画像をダウンロードしようと、クラッシュの原因が何であるか、logcatを参照してください

public class DownloadImagesTask extends AsyncTask<ImageView, Void, ImageView> { 
    ImageView iv=null; 
    Bitmap bitmap=null; 
    String url=null; 

    public DownloadImagesTask(ImageView iv,int position,String url) { 
     this.iv = iv; 
     this.position=position; 
     this.url = url; 
    } 

    @Override 
    protected void onPreExecute() { 
     super.onPreExecute(); 

    } 

    @Override 
    protected ImageView doInBackground(ImageView... url) { 
     try { 
       Log.e("url", this.url); 
       URL ulrn = new URL(this.url); 
       HttpURLConnection con = (HttpURLConnection) ulrn.openConnection(); 
       InputStream is = con.getInputStream(); 
       this.bitmap = BitmapFactory.decodeStream(is); 
       if (null != this.bitmap) 
       { 
        return iv; 
       } 
     }catch(Exception e){} 
     return null; 
    } 




    @Override 
    protected void onPostExecute(ImageView result) { 
     if(result!=null) { 
      this.iv.setImageBitmap(bitmap); 

     } 
     else 
      iv.setImageResource(R.drawable.loading); 
    } 


} 
+0

あなたの答えをありがとう、私はしようとビットマップはまだnullです – justinj

+0

別のリンクを試しましたか?リンクが壊れている可能性がありますか? –

+0

助けてくれてありがとう、しかし、私はいくつかのリンクを試していない、すべて動作しませんでした – justinj

関連する問題