【问题标题】:Downloading Google Charts Image to ImageView将 Google 图表图像下载到 ImageView
【发布时间】:2017-03-03 17:18:51
【问题描述】:
【问题讨论】:
标签:
java
android
image
imageview
picasso
【解决方案1】:
确保您在 AndroidManifest.xml 中设置了以下权限以访问互联网。
<uses-permission android:name="android.permission.INTERNET" />
在 MainActivity.java 中:
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);
}
}
尽情享受吧!
【讨论】:
-
谢谢!这解决了谷歌图表的问题。另一个相同格式的 URL 似乎不起作用,但是:hackforums.net/… 它抛出:“java.lang.RuntimeException:由于 InputStream 的“java.lang.NullPointerException”,执行 doInBackground() 时发生错误.任何想法为什么?