Image laden von einer URL

  • 7 Antworten
  • Neuester Beitrag
Diskutiere Image laden von einer URL im Android App Entwicklung im Bereich Betriebssysteme & Apps.
MetBo

MetBo

Erfahrenes Mitglied
Hallo,

gibt es eine Möglichkeit von einer URL ein Bild zu laden und in eine ImageView auszugeben?

Bspw. dieses Bild http://www.prepolino.ch/sprache/trennen/bilder/test.gif laden und in einer ImageView ausgeben!?

Ich habe nur diesen Link und leider keinen InputStream zu Verfügung.
Ansonsten hätte ich es ja auch
Code:
Drawable.createFromStream(InputStream, "src");
machen können.

Danke,
Grüße
 
MetBo

MetBo

Erfahrenes Mitglied
Na, ich gehe nicht in den Quellcode, sondern habe nur die URL des Images ....

Edit: Ein besseres Beispiel ist folgendes Bild: http://www.google.com/recaptcha/api/image?c=03AHJ_VuuFrywuFpCMbZaRk4hDD3aBBM4qwUYVDmL3RxLBXf8YYECPRPSsu0hJHi8LlPza_0ru_taXezhpPfHo0rvhdTTWcl3F9KFAhtA3WGNzW8GiNVFqE1VAneP6Sfl6cDYqd_MpoEJBf2ejWsECiMMKOnu3Bg-buA

Edit:

hier mein Code:
private Drawable setCaptcha(String challenge) {
if (!challenge.equals("")) {
try {
URL url = new URL(URL_CAPTCHA + challenge);
InputStream is = (InputStream) url.getContent();
Drawable d = Drawable.createFromStream(is, "src");

return d;
} catch (Exception e) {
return null;
}
} else {
return null;
}
}
Dabei entspricht URL_CAPTCHA + challenge folgenden URL http://www.google.com/recaptcha/api...1VAneP6Sfl6cDYqd_MpoEJBf2ejWsECiMMKOnu3Bg-buA

Logcat:
09-29 19:41:47.495: ERROR/AndroidRuntime(1214): FATAL EXCEPTION: main
09-29 19:41:47.495: ERROR/AndroidRuntime(1214): java.lang.RuntimeException: Unable to start activity ComponentInfo{de.pmapps.wsmss/de.pmapps.wsmss.SmsClient}: java.lang.NullPointerException
09-29 19:41:47.495: ERROR/AndroidRuntime(1214): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
09-29 19:41:47.495: ERROR/AndroidRuntime(1214): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
09-29 19:41:47.495: ERROR/AndroidRuntime(1214): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
09-29 19:41:47.495: ERROR/AndroidRuntime(1214): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
09-29 19:41:47.495: ERROR/AndroidRuntime(1214): at android.os.Handler.dispatchMessage(Handler.java:99)
09-29 19:41:47.495: ERROR/AndroidRuntime(1214): at android.os.Looper.loop(Looper.java:123)
09-29 19:41:47.495: ERROR/AndroidRuntime(1214): at android.app.ActivityThread.main(ActivityThread.java:4627)
09-29 19:41:47.495: ERROR/AndroidRuntime(1214): at java.lang.reflect.Method.invokeNative(Native Method)
09-29 19:41:47.495: ERROR/AndroidRuntime(1214): at java.lang.reflect.Method.invoke(Method.java:521)
09-29 19:41:47.495: ERROR/AndroidRuntime(1214): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
09-29 19:41:47.495: ERROR/AndroidRuntime(1214): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
09-29 19:41:47.495: ERROR/AndroidRuntime(1214): at dalvik.system.NativeStart.main(Native Method)
09-29 19:41:47.495: ERROR/AndroidRuntime(1214): Caused by: java.lang.NullPointerException
09-29 19:41:47.495: ERROR/AndroidRuntime(1214): at de.pmapps.wsmss.SmsClient.onCreate(SmsClient.java:119)
09-29 19:41:47.495: ERROR/AndroidRuntime(1214): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
09-29 19:41:47.495: ERROR/AndroidRuntime(1214): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
09-29 19:41:47.495: ERROR/AndroidRuntime(1214): ... 11 more
 
Zuletzt bearbeitet:
MetBo

MetBo

Erfahrenes Mitglied
Ja hatte ich vorher auch schon. das Problem dass ich sehe ist, dass ich bei createfromstream kein src habe, oder ist das ist egal?
 
MetBo

MetBo

Erfahrenes Mitglied
Weiter oben sieht man meinen Code + Logcat. Es ist definitiv diese Funktion, da meine App von dieser Funktion ein Bild bekommt.

Kann ja mal wer von euch selbst ausprobieren (Einfach das Drawable in eine ImageView laden).
 
FelixL

FelixL

Ehrenmitglied
Hab es ausprobiert, bei mir funktioniert es.
Mit beiden Test-Bildern, auch mit dem Google-Captcha
An die permission gedacht? Irgendein Fehler im layout wodurch der Image-View nicht angezeigt wird? Wird die URL wirklich richtig zusammengesetzt?

Code:
package com.felixl.imagetest;

import java.io.InputStream;
import java.net.URL;

import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.widget.ImageView;

public class imagetest extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        ImageView iv = (ImageView) findViewById(R.id.ImageView01);
        iv.setImageDrawable(setCaptcha("test"));
        
    }
    
    private Drawable setCaptcha(String challenge) {
    	if (!challenge.equals("")) {
    		try {
    			URL url = new URL("http://www.google.com/recaptcha/api/image?c=03AHJ_VuuFrywuFpCMbZaRk4hDD3aBBM4qwUYVDmL3RxLBXf8YYECPRPSsu0hJHi8LlPza_0ru_taXezhpPfHo0rvhdTTWcl3F9KFAhtA3WGNzW8GiNVFqE1VAneP6Sfl6cDYqd_MpoEJBf2ejWsECiMMKOnu3Bg-buA");
    			InputStream is = (InputStream) url.getContent();
    			Drawable d = Drawable.createFromStream(is, "src");

    			return d;
    		} catch (Exception e) {
    			return null;
    		}
    	} else {
    		return null;
    	}
    }
}
Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    />
<ImageView android:id="@+id/ImageView01" android:layout_width="fill_parent" android:layout_height="fill_parent"></ImageView>
</LinearLayout>
Code:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.felixl.imagetest"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".imagetest"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>


<uses-permission android:name="android.permission.INTERNET"></uses-permission>
</manifest>
 
Ähnliche Themen - Image laden von einer URL Antworten Datum
0
0