2017-03-03 8 views
0

Also verwende ich die Picasso-Bibliothek, um Web-Bilder in mein ImageView zu legen. Allerdings habe ich diese eine Datei auf Google Charts, die, wenn sie in Chrome geöffnet ist ein Bild, hat noch keine Erweiterung:Laden von Google Charts-Bild in ImageView

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

Ich habe auch versucht & .png an die URL angehängt und Picasso noch nicht um das Bild herunterzuladen. Sobald ich jedoch die URL in etwas statisches ändere (wie https://puu.sh/us6td/3dda131f46.png), wird das Bild gut angezeigt.

Wie kann ich dieses Problem umgehen? Jede Hilfe wird sehr geschätzt.

Antwort

0

Stellen Sie sicher, dass in Ihrer AndroidManifest.xml die folgenden Berechtigungen für den Zugriff auf das Internet festgelegt sind.

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

In 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); 
    } 
} 

Genießen Sie es!

+0

Danke! Das hat die Probleme für die Google Charts behoben. Eine andere URL des gleichen Formats nicht zu funktionieren scheint, aber: https://hackforums.net/captcha.php?imagehash=de186516263983d99bdc789691675ae7 Es wirft: „java.lang.RuntimeException: Ein Fehler ist aufgetreten, während doInBackground Ausführung() "aufgrund einer" java.lang.NullPointerException "des InputStream. Irgendwelche Ideen warum? –

Verwandte Themen