2016-06-03 27 views
-3

Ich lerne Android-Programmierung und was ist Fehler?Bild herunterladen von URL

ImageView im = (ImageView) findViewById(R.id.imageView); 
try { 
    URL u = new URL("http"); 
    HttpURLConnection ur = (HttpURLConnection) u.openConnection(); 
    InputStream in = ur.getInputStream(); 
    Bitmap bs = BitmapFactory.decodeStream(in); 

    im.setImageBitmap(bs); 

    in.close(); 
} catch (Exception e) { 
    e.printStackTrace(); 
} 
+0

Verwenden Sie LogCat, um die Java-Stack-Ablaufverfolgung zu untersuchen, die mit Ihrem Absturz verknüpft ist: https://stackoverflow.com/questions/23353173/unidy-myapp-has-stopped-how-can-i-solve-this. Höchstwahrscheinlich werden Sie feststellen, dass Sie mit einer "NetworkOnMainThreadException" stürzen: http://stackoverflow.com/questions/6343166/how-to-fix-android-os-networkonmainthreadexception – CommonsWare

+0

http://stackoverflow.com/a/ 3090802/5915572 –

Antwort

0

Sie nicht auf Haupt-Thread ausgeführt werden kann, nur neue Themen verwenden:

Thread thread = new Thread(new Runnable() 
{ 
    @Override 
    public void run() 
    { 
     try 
     { 
      //Your code goes here 
     } 
     catch (Exception e) 
     { 
      e.printStackTrace(); 
     } 
    } 
}); 

thread.start(); 
0

Sie Picasso library Suche Haben?

Mit Picasso können Sie eine Bitmap aus einer Bildanforderung in Ihrer Ansicht (dh ImageView) binden. Egal wie es funktioniert.

Picasso.with(context) 
     .load(imageUri) 
     .into(viewToAttach); 

Sie können Fehler wie Timeout oder Fehlerreaktion fangen, mit Rückrufe.

+0

Ja, ich kenne diese Bibliothek, aber ich möchte meinen Code verwenden, danke –