1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

Image laden von einer URL

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von MetBo, 29.09.2010.

  1. MetBo, 29.09.2010 #1
    MetBo

    MetBo Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    264
    Erhaltene Danke:
    4
    Registriert seit:
    14.05.2010
    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
     
  2. FelixL, 29.09.2010 #2
    FelixL

    FelixL Ehrenmitglied

    Beiträge:
    4,855
    Erhaltene Danke:
    754
    Registriert seit:
    26.11.2009
    Phone:
    Wileyfox Swift, HTC One M8
    Sollte das nicht relativ einfach gehen?
    Android: View image from the web simple blog

     
  3. MetBo, 29.09.2010 #3
    MetBo

    MetBo Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    264
    Erhaltene Danke:
    4
    Registriert seit:
    14.05.2010
    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:
    Dabei entspricht URL_CAPTCHA + challenge folgenden URL http://www.google.com/recaptcha/api...1VAneP6Sfl6cDYqd_MpoEJBf2ejWsECiMMKOnu3Bg-buA

    Logcat:
     
    Zuletzt bearbeitet: 29.09.2010
  4. FelixL, 29.09.2010 #4
    FelixL

    FelixL Ehrenmitglied

    Beiträge:
    4,855
    Erhaltene Danke:
    754
    Registriert seit:
    26.11.2009
    Phone:
    Wileyfox Swift, HTC One M8
  5. MetBo, 29.09.2010 #5
    MetBo

    MetBo Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    264
    Erhaltene Danke:
    4
    Registriert seit:
    14.05.2010
    Ja hatte ich vorher auch schon. das Problem dass ich sehe ist, dass ich bei createfromstream kein src habe, oder ist das ist egal?
     
  6. FelixL, 29.09.2010 #6
    FelixL

    FelixL Ehrenmitglied

    Beiträge:
    4,855
    Erhaltene Danke:
    754
    Registriert seit:
    26.11.2009
    Phone:
    Wileyfox Swift, HTC One M8
  7. MetBo, 29.09.2010 #7
    MetBo

    MetBo Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    264
    Erhaltene Danke:
    4
    Registriert seit:
    14.05.2010
    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).
     
  8. FelixL, 29.09.2010 #8
    FelixL

    FelixL Ehrenmitglied

    Beiträge:
    4,855
    Erhaltene Danke:
    754
    Registriert seit:
    26.11.2009
    Phone:
    Wileyfox Swift, HTC One M8
    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> 
     

Diese Seite empfehlen