Drawable from Web

Coeptis

Coeptis

Neues Mitglied
0
Hallo ich versuche ein ImageView mit einem Bild aus dem Netz zu füllen.
Leider klappt es noch nicht so recht.

Folgendes versuche ich gerade:
Code:
public static Drawable getDrawableFromWebOperation(String url) 
    {
      try 
      {
        InputStream is = (InputStream) new URL(url).openConnection().getInputStream() ;
        Drawable d = Drawable.createFromStream(is, url);
        return d;
      } 
      catch (Exception e) 
      {
        Log.e("###TEST###", "Drawable from WEB Fehler: "+e.getMessage());
        return null;
      }
    }
Und hier die Stelle des Aufrufes:

Code:
ImageView iView = new ImageView(this);
iView.setBackgroundDrawable(getDrawableFromWebOperation(strSourceBild.get(i)));
In strSourceBild.get(i) steckt die URL als String! Also daher kommt es nicht und das Leerzeichen bei Operation kommt durchs Forum.:)confused2:)

Leider bekomme ich immer: java.lang.NullPointerException:cursing:

Vielleicht habt ihr ja einen Rat. Irgendwie kann ich es mir nicht erklären.:confused2:
Danke schonmal für Eure Mühen. :thumbup:
 
permission internet gesetzt ?

wo genau hast den nullpointer - debugge mal, was genau null ist
 
Code:
<uses-permission android:name="android.permission.INTERNET" />
JUPP!

Code:
06-20 09:09:53.787: E/AndroidRuntime(593): FATAL EXCEPTION: main
06-20 09:09:53.787: E/AndroidRuntime(593): java.lang.RuntimeException: Unable to start activity ComponentInfo{....}: java.lang.NullPointerException
06-20 09:09:53.787: E/AndroidRuntime(593):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1748)
06-20 09:09:53.787: E/AndroidRuntime(593):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1764)
06-20 09:09:53.787: E/AndroidRuntime(593):     at android.app.ActivityThread.access$1500(ActivityThread.java:122)
06-20 09:09:53.787: E/AndroidRuntime(593):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1002)
06-20 09:09:53.787: E/AndroidRuntime(593):     at android.os.Handler.dispatchMessage(Handler.java:99)
06-20 09:09:53.787: E/AndroidRuntime(593):     at android.os.Looper.loop(Looper.java:132)
06-20 09:09:53.787: E/AndroidRuntime(593):     at android.app.ActivityThread.main(ActivityThread.java:4025)
06-20 09:09:53.787: E/AndroidRuntime(593):     at java.lang.reflect.Method.invokeNative(Native Method)
06-20 09:09:53.787: E/AndroidRuntime(593):     at java.lang.reflect.Method.invoke(Method.java:491)
06-20 09:09:53.787: E/AndroidRuntime(593):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
06-20 09:09:53.787: E/AndroidRuntime(593):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
06-20 09:09:53.787: E/AndroidRuntime(593):     at dalvik.system.NativeStart.main(Native Method)
06-20 09:09:53.787: E/AndroidRuntime(593): Caused by: java.lang.NullPointerException
06-20 09:09:53.787: E/AndroidRuntime(593):     at ......onCreate(......java:110)
06-20 09:09:53.787: E/AndroidRuntime(593):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048)
06-20 09:09:53.787: E/AndroidRuntime(593):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1712)
06-20 09:09:53.787: E/AndroidRuntime(593):     ... 11 more
Und wie gesagt
Code:
strSourceBild.get(i)
ist voll!
 
Zuletzt bearbeitet:
btw. ich würde .setImageDrawable(drawable) benutzen, es sei denn, du willst wirklich den hintergrund setzen.

ansonsten vielleicht die resource in einem thread laden und dann erst setzen.
 
und was genau ist zeile 110 ?
 
Upps ja klar habe es gleich mal geändert auf
Code:
setImageDrawable
Der Fehler bleibt! Das mit dem Thread bitte genauer erklären! Habe ich nie gemacht.

Zeile 110 ist auskommentiert
Code:
//            this.runOnUiThread(new Runnable()
 
Das Laden des Bildes im Netz blockiert deine UI, wenn du das nicht im Thread machst. Was ist, wenn du gerade keine Verbindung bekommst und das Bild nicht laden kannst? Dann hängt deine App und nach 5s kommt der Beenden-Screen.

Schau dir mal AsyncTask an, zum Resourcen laden ist der sicherlich sehr gut geeignet.
 
  • Danke
Reaktionen: Coeptis
Danke erstmal. Werde mir das gleich mal ansehen.
 

Ähnliche Themen

W
  • whazza
Antworten
0
Aufrufe
714
whazza
W
K
Antworten
3
Aufrufe
1.168
Kapikalaani
K
W
Antworten
7
Aufrufe
1.524
swa00
swa00
Zurück
Oben Unten