2017-03-03 5 views
0

Picassoライブラリを使用して、Web画像をImageViewに配置しています。Google Charts ImageをImageViewにダウンロードする

https://chart.googleapis.com/chart?cht=qr&chs=150x150&chl=LG-80294959&choe=UTF-8

私もURLに.pngを&を追加しようとしたとピカソはまだ失敗します。しかし、私はまだ拡張子を持っていない、イメージがあるChromeで開いたGoogleのチャート、上のこの一つのファイルを持っています画像をダウンロードする。しかし、URLを静的なもの(例えば、https://puu.sh/us6td/3dda131f46.png)に変更すると、画像はうまく表示されます。

この問題を回避するにはどうすればよいですか?どんな助けでも大歓迎です。

答えて

0

インターネットにアクセスするには、AndroidManifest.xmlに次の権限が設定されていることを確認してください。 MainActivity.javaで

<uses-permission android:name="android.permission.INTERNET" /> 

public void onClick(View v) { 

// show The Image in a ImageView 
new DownloadImageTask((ImageView) findViewById(R.id.imageView1)) 
      .execute("https://chart.googleapis.com/chart?cht=qr&chs=150x150&chl=LG-80294959&choe=UTF-8"); 

} 

private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> { 
    ImageView bmImage; 

    public DownloadImageTask(ImageView bmImage) { 
     this.bmImage = bmImage; 
    } 

    protected Bitmap doInBackground(String... urls) { 
     String urldisplay = urls[0]; 
     Bitmap mIcon11 = null; 
     try { 
      InputStream in = new java.net.URL(urldisplay).openStream(); 
      mIcon11 = BitmapFactory.decodeStream(in); 
     } catch (Exception e) { 
      Log.e("Error", e.getMessage()); 
      e.printStackTrace(); 
     } 
     return mIcon11; 
    } 

    protected void onPostExecute(Bitmap result) { 
     bmImage.setImageBitmap(result); 
    } 
} 

はそれをお楽しみください!

+0

ありがとうございます!これにより、Google Chartsの問題が修正されました。 同じ形式の別のURLがしかし、動作していないよう: それはスローhttps://hackforums.net/captcha.php?imagehash=de186516263983d99bdc789691675ae7:「java.lang.RuntimeExceptionは:doInBackgroundの実行中にエラーが発生しました() "のため、InputStreamの" java.lang.NullPointerException "が原因です。なぜどんなアイデア? –