IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Problème dans le téléchargement d'image


Sujet :

Android

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 91
    Par défaut Problème dans le téléchargement d'image
    bonjour ,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    05-29 16:22:00.127: INFO/URL(877): type= http://bb.fitness.2000/web/uploads/images/
    05-29 16:22:00.127: INFO/URL(877):             afd8f7aac34e552bc35e3ff465e5c82042ad9a02.jpg
    tout se passe bien mais l'image ne s'affiche pas
    Il se peut parce que l'url est divisé en 2
    Car lorsque j'essaye de remplir la liste des url manuellement ça bien passer

  2. #2
    Membre très actif
    Homme Profil pro
    Ingénieur Informatique et Développeur Android
    Inscrit en
    Janvier 2010
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur Informatique et Développeur Android

    Informations forums :
    Inscription : Janvier 2010
    Messages : 384
    Par défaut
    salut , voilà mon code pour telecharger une image depuis une url
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    try { 
    	URL aURL = new URL("tu met ici ton url"); 
    	URLConnection conn = aURL.openConnection(); 
    	conn.connect(); 
    	InputStream is = conn.getInputStream(); 
    	Bitmap  here_comes_it = BitmapFactory.decodeStream(is); 
    	is.close(); 
     
     
     
    	} catch (Exception e) { 
    	e.printStackTrace(); 
    	}
    bien verif bien que ton lien pointe sur une image
    copier coller ton url dans un navigateur et verif qu'il charge l'image et non plus tout la pagr que contient l'image

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 91
    Par défaut
    Non , c'est pas ça le problème.
    le téléchargement se fait avec sucés mis rien ne s'affiche

  4. #4
    Membre prolifique
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    10 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 10 262
    Par défaut
    T'as bien fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ImageView tv_Image = (ImageView)layoutItem.findViewById(R.id.TV_Image);
    tv_Image.setImageBitmap(here_comes_it);
    A quel endroit exactement essai tu t'afficher cette image ?

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 91
    Par défaut
    oui j'ai bien fait ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    class feedPlayer extends Activity  {
       private ListView maListViewPerso;
    private ArrayList<String> mesUrl;
    private final static String SERVER_IM = "http://tourisme.fitness.com/web/uploads/images/";
     
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            requestWindowFeature(Window.FEATURE_NO_TITLE);
            setContentView(R.layout.liste); 
            ArrayList<Feed> feeds = ContainerData.getFeeds();
     
     
            mesUrl = buildListImages();
            Log.i("size","type= " + String.valueOf(mesUrl.get(2)));
     
            ListFeedAdapter lfa = new ListFeedAdapter(this, feeds,mesUrl);
            maListViewPerso = (ListView) findViewById(R.id.listFeed);
            maListViewPerso.setAdapter(lfa);
            maListViewPerso.setDividerHeight(4); 
       findViewById(R.id.bouton).setOnClickListener(
               new Button.OnClickListener(){
     
    				public void onClick(View v) {
     
    		 Intent intent = new Intent(feedPlayer.this,
    	                                      Villemap.class);
     
     
     
    		 startActivity(intent);
     
    	}
     
     
     
                });
     
     
     
        maListViewPerso.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> a, View v, int position, long id) {
             CallFunc(position);
         }
     
                 private void CallFunc(int position) {
     
                	 Feed e = ContainerData.getFeeds().get(position);
                     Intent intent = new Intent(feedPlayer.this , Tab.class);
                     intent.putExtra("position", e.getname());
                     startActivity(intent);
     
     
                 }
        });
     
     
     
     
     
    }
        public static ArrayList<String> buildListImages() {
       	 ArrayList<Feed> feeds = ContainerData.getFeeds();
     
     
    		ArrayList<String> listFic = new ArrayList<String>();
    	for(int i = 0; i <= feeds.size(); i++) {
    		try{
    			Feed e=feeds.get(i);
     
    			String im=e.getFilr();
     
    			Log.i("Type","type= " + String.valueOf(im));
    			listFic.add(new String(SERVER_IM+im));
     
    			Log.i("Type","" + String.valueOf(listFic.get(i)));
    			Log.i("Type","type= " + String.valueOf(listFic.size()));
    		}
    	 catch(Exception e){
           System.err.println("Exception buildListImages() : "+e);
       }
    }
     
    		return listFic;
     
    	}
     
     
     
     
     
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    public class ListFeedAdapter extends BaseAdapter {
     
    	// les données à afficher
    	private ArrayList<Feed> feeds;
     
    	// * Le LayoutInflater permet de parser un layout XML et de 
    	// * te transcoder en IHM Android. Pour respecter l'interface 
    	// * BaseAdapter 
     
    	private LayoutInflater inflater;
     
    	private ArrayList<String> mesUrl;
     
    	public ListFeedAdapter(Context context,ArrayList<Feed> feeds,ArrayList<String> mesUrl) {
    		inflater = LayoutInflater.from(context);
    		this.feeds = feeds;
    		this.mesUrl=mesUrl;
    	}
     
    	// * il nous faut spécifier la méthode "count()". 
    	// * Cette méthode permet de connaître le nombre d'items présent 
    	// * dans la liste. Dans notre cas, il faut donc renvoyer le nombre
    	// * de personnes contenus dans "mListP".
     
     
    	public int getCount() {
    		return feeds.size();
    	}
     
     
    	 // Permet de retourner un objet contenu dans la liste
     
    	public Object getItem(int index) {
    		return feeds.get(index);
    	}
     
    	public long getItemId(int index) {
    		return this.feeds.get(index).getId();
     
    	}
     
     
    	 // * Voici la partie la plus complexe de la classe
     
     
    	public View getView(int position, View convertView, ViewGroup parent){
    		// * Le paramètre "convertView" permet de recycler les élements 
    		// * de notre liste. En effet, l'opération pour convertir un layout 
    		// * XML en IHM standard est très couteuse pour la plateforme Android. 
    		// * On nous propose ici de réutiliser des occurences créées qui ne sont 
    		// * plus affichées. Donc si ce paramètre est "null" alors, il faut "inflater" 
    		// * notre layout XML, sinon on le réutilise
    		FeedView fv;		
     
    		if (convertView == null) {
    			fv = new FeedView();
    			convertView = inflater.inflate(R.layout.feed_view, null);
     
    			fv.name = (TextView)convertView.findViewById(R.id.title);
    			fv.image=(ImageView)convertView.findViewById(R.id.image);
    			convertView.setTag(fv);
     
    		} else {
    			fv = (FeedView) convertView.getTag();
    		}						
     
     
    		fv.name.setText(feeds.get(position).getname());
    		setImage(fv.image, mesUrl.get(position));
    		return convertView;
    	}
    	public static void setImage(ImageView aView, String url) {
    		try {
    			 URL aURL = new URL(url);
    				Log.i("URL","type= " + String.valueOf(aURL));
    			URLConnection conn = aURL.openConnection();
    			conn.connect();
    			InputStream is = conn.getInputStream();
     
    			// Bufferisation pour le téléchargement 
    			BufferedInputStream bis = new BufferedInputStream(is, 8192);
     
    			// Création de l'image depuis le flux des données entrant
    			Bitmap bm = BitmapFactory.decodeStream(bis);
    			bis.close();
    			is.close();
     
    			// Fixe l'image sur le composant ImageView
    			aView.setImageBitmap(bm);
     
    		} catch (IOException e) {
     
    			Log.e("DVP Gallery", "Erreur téléchargement image URL : " );
    			e.printStackTrace();
    		} 
    	}
     
     
    }

  6. #6
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 91
    Par défaut
    Aves ça le telechargement et trés bien marché et les urls sont affichés dans le logcat mais les images ne s'affiche pas.
    Par contre lorsque je remplis comme ça ça trés bien marché
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    public static ArrayList<String> buildListImages() {
       	 ArrayList<Feed> feeds = ContainerData.getFeeds();
     
     
    		ArrayList<String> listFic = new ArrayList<String>();
     
    		listFic.add(new String("http://tourisme.fitness.com/tourismee/web/uploads/images/ville/21e02b8bfa78010a5fe58dfab463c953991a9113.jpg"));
    		listFic.add(new String("http://tourisme.fitness.com/tourismee/web/uploads/images/ville/567c99071cabec0e7af0035e0c63fc528f083e9f.jpg"));
    		listFic.add(new String("http://tourisme.fitness.com/tourismee/web/uploads/images/ville/ecc04f13c75fa705068c7e1258590e42d87bed0f.jpg"));
     
     
     
    		return listFic;
     
    	}

  7. #7
    Membre prolifique
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    10 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 10 262
    Par défaut
    T'es dans un Adapter aussi, peut être que juste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    notifyDataSetChanged ();
    Pourrait faire quelque chose.

    Cela dit dans mon application je fais quelque chose d'un peu similaire.
    Déjà ce qui n'est pas top dans ta solution, c'est que l'image va être téléchargé plusieurs fois.
    Parce qu'en fait dans ListView dès que tu bouges à peine, des layouts sont reconstruite.

    T'es sûre que : est une adresse valide d'image ?

    Pourquoi tu passes par un : ?

  8. #8
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 91
    Par défaut
    URL.getposition s'affiche comme ça dans le logcat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    05-29 16:22:00.127: INFO/URL(877): type= http://bb.fitness.2000/web/uploads/images/
    05-29 16:22:00.127: INFO/URL(877):             afd8f7aac34e552bc35e3ff465e5c82042ad9a02.jpg
    alors que l'url doit etre comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://bb.fitness.2000/web/uploads/images/afd8f7aac34e552bc35e3ff465e5c82042ad9a02.jpg
    peut etre que ça le problème

  9. #9
    Membre prolifique
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    10 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 10 262
    Par défaut
    Ouais déjà c'est sûre que c'est un problème.
    Essai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setImage(fv.image, "http://www.developpez.net/forums/images/smilies/icon_smile.gif");
    Juste pour le test.

  10. #10
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 91
    Par défaut
    c'est bien affiché

  11. #11
    Membre prolifique
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    10 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 10 262
    Par défaut
    Il faut que tu corriges ta méthode buildListImages() apparemment elle est pas au top.

    N'empêche que c'est très bien, grâce à un petit test t'as pu voir une partie de ce qui marchait.
    Tu sais qu'en envoyant une String correct ça passe, bon tu le savais avant en fait...
    Mais du coup tu sais plus précisément où chercher.

  12. #12
    Membre expérimenté
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2005
    Messages : 103
    Par défaut
    Si cette URL est correcte, alors c'est normal qu'elle s'affiche pas puisque même dans le navigateur, elle retourne une serveur introuvable.

    Je fais une remarque, il est déconseillé d'opérer des traitements lourds (bloquant) dans des méthodes sensible (notamment le getView). Il faudrait faire un système de chargement asynchrone des images (en finalisation, je comprends bien que là ce sont que des tests).

  13. #13
    Rédacteur
    Avatar de Viish
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2009
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 427
    Par défaut
    Citation Envoyé par anastunisie Voir le message
    URL.getposition s'affiche comme ça dans le logcat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    05-29 16:22:00.127: INFO/URL(877): type= http://bb.fitness.2000/web/uploads/images/
    05-29 16:22:00.127: INFO/URL(877):             afd8f7aac34e552bc35e3ff465e5c82042ad9a02.jpg
    alors que l'url doit etre comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://bb.fitness.2000/web/uploads/images/afd8f7aac34e552bc35e3ff465e5c82042ad9a02.jpg
    peut etre que ça le problème
    Le plus simple pour corriger ça est d'appliquer ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String urlImage = ...
    urlImage.replace("\r\n", "");

  14. #14
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 91
    Par défaut
    le probleme en faite est dans la concaténation d'url je croix mais je ne trouve pas la solution
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    listFic.add(new String(SERVER_IM+im));
    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SERVER_IM = "http://bb.clubfitness2000.com/web/uploads/images/";
    et

  15. #15
    Rédacteur
    Avatar de Viish
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2009
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 427
    Par défaut
    Essayes avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SERVER_IM = "http://bb.clubfitness2000.com/web/uploads/images/";
    String im=e.getFile();
    String url = SERVER_IM + im;
    url = url.replace("\r\n", "").replace("\t", "");
    listFic.add(url);

  16. #16
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 91
    Par défaut
    9a rien changer viish même affichage d'url

  17. #17
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,
    Si cette URL est correcte, alors c'est normal qu'elle s'affiche pas puisque même dans le navigateur, elle retourne une serveur introuvable.

    Je fais une remarque, il est déconseillé d'opérer des traitements lourds (bloquant) dans des méthodes sensible (notamment le getView). Il faudrait faire un système de chargement asynchrone des images (en finalisation, je comprends bien que là ce sont que des tests).
    Comme te l'a fait remarqué Aerinder , t'es sûr de ton chemin ?

    De plus les tests que tu as effectué pour nous dire que cela marchait si tu mettais la chaines en entier, n'est pas la même que celle tu utilises :


  18. #18
    Membre prolifique
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    10 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 10 262
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     "http://bb.clubfitness2000.com/web/uploads/images/".concat(im);
    Ne fonctionne pas non plus ?

  19. #19
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 91
    Par défaut
    Non , moi je changer les url car mon site n'est pas securisée
    je suis sur que les url sont correctes

  20. #20
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 91
    Par défaut
    meme prob thierry

Discussions similaires

  1. problème dans le chargement d'image
    Par yann_72 dans le forum Serveurs (Apache, IIS,...)
    Réponses: 1
    Dernier message: 03/08/2011, 17h08
  2. Problème dans l'affichage des images
    Par Stefounette dans le forum JavaFX
    Réponses: 2
    Dernier message: 01/06/2010, 15h26
  3. Problème d'affichage d'une image dans une fenetre
    Par taouja dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 30/04/2007, 16h00
  4. [SQL] problème dans l'affichage des images
    Par visqueu dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 03/04/2007, 11h17
  5. Problème de conversion de format image dans DirectShow
    Par grob1212 dans le forum DirectX
    Réponses: 4
    Dernier message: 19/06/2006, 20h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo