将Google Charts图像下载到ImageView

时间:2017-03-03 08:47:06

标签: java android image imageview picasso

所以我使用Picasso库将Web图像放入我的ImageView中。但是,我在Google Charts上有这个文件,在Chrome中打开时是一个图片,但没有扩展名:

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

我还尝试在网址上附加& .png,而Picasso仍无法下载图片。但是,一旦我将URL更改为静态(例如https://puu.sh/us6td/3dda131f46.png),图像就会显示得很好。

我如何规避这个问题?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

确保您在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);
    }
}

享受它!