2016-06-11 13 views
0

Ich versuche, Bild von URL zu holen, aber ich bekomme E/A-Ausnahme. Ich habe wirklich keine Ahnung warum.Bild von URL in Android holen

try { 
     URL profilePicUrl = new URL("http://houssup.netau.net/vivek_thumbnail.jpg"); 

     HttpURLConnection connection =(HttpURLConnection) profilePicUrl.openConnection(); 

     connection.setDoInput(true); 


     connection.connect(); 

     InputStream inputStreamImage = connection.getInputStream(); 

     Bitmap profileImage = BitmapFactory.decodeStream(inputStreamImage); 

     holder.profilePic.setImageBitmap(profileImage); 


    } catch (MalformedURLException e) { 
     Log.e("Profile Image","Error in URL"); 
     e.printStackTrace(); 
    } catch (IOException e) { 
     Log.e("Profile Image","Error in IO"); 
     e.printStackTrace(); 
    } 

Auch ich möchte darauf hinweisen, dass HttpURLconnection Ausnahme überall in meiner App wirft. Ich meine, in jeder Klasse kann ich diese Klasse nicht benutzen.

+0

Haben Sie versucht, eine geeignete Bildladebibliothek wie Picasso zu verwenden? Es würde das Problem hier erheblich vereinfachen –

+0

ok, ich werde das versuchen. Aber die Lösung für das Problem ist immer noch erforderlich –

+2

Es ist nicht klar, was das Problem ist. Diese URL ist in Ordnung, also gibt es Ausnahmen im Logcat? Wird der Code nicht kompiliert? Was genau ist das Problem? Bitte [bearbeiten] Sie Ihre Frage, um uns mitzuteilen, dass wir Ihnen genau helfen können. –

Antwort

0

habe ich versucht, diesen Code und der Fehler ist dies:

Verursacht durch: android.os.NetworkOnMainThreadException

so ist die Lösung dieses auf Ihrem Code enthalten:

StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder() 
      .permitAll().build(); 
StrictMode.setThreadPolicy(policy); 
+0

Die bessere Lösung wäre, nur die Vernetzung auf einem separaten Thread zu tun – Soana

+0

die bessere Lösung ist, Volley zu verwenden und das Bild asynchron zu laden ... –

+0

@FranciscoCastro Dank bro, du hast gerade mein Leben gerettet .. –