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 :

Affichage d'une image


Sujet :

Android

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 312
    Par défaut Affichage d'une image
    Bonjour

    J'ai un probleme d'affichage d'une image provenant de mon serveur

    le code mon curseur est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    startManagingCursor(c);
    			if(c!=null && c.moveToFirst()){
    String leplan=c.getString(c.getColumnIndex("plan"));
    			ImageView imgView =(ImageView)findViewById(R.id.imgplan);  
    			Drawable drawable = LoadImageFromWebOperations("http://www.monsitei/images/"+leplan+".png"); 
    			imgView.setImageDrawable(drawable);
     
    		}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    private Drawable LoadImageFromWebOperations(String url){  
    			try 
    			{  
    				InputStream is = (InputStream) new URL(url).getContent();  
    				Drawable d = Drawable.createFromStream(is, "src name");  
    				return d;  
    				}catch (Exception e) {  
    					System.out.println("Exc="+e);  
    					return null;  
    				}  
    			}
    J'ai bien déclaré l'autorisation dans mon manifest
    je n'ai pas de beug, mais pas d'affichage
    Pouvez-vous m'indiquer l'erreur
    Merci

  2. #2
    Membre prolifique
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    10 301
    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 301
    Par défaut
    Je sais pas si ça change grand chose, mais moi j'aurais utilisé un Bitmap au lieu d'un Drawable.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    URL ulrn = new URL(url);
    HttpURLConnection con = (HttpURLConnection)ulrn.openConnection();
    InputStream is = con.getInputStream();
    Bitmap bmp = BitmapFactory.decodeStream(is);
    et après :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    imgView.setImageBitmap(bmp);

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 312
    Par défaut
    Bonjour

    Merci pour ta réponse, mais avec ce code j'ai toujours le meme probleme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    String leplan=c.getString(c.getColumnIndex("plan"));
    ImageView imgView =(ImageView)findViewById(R.id.imgplan); 
     try{
     URL ulrn = new URL"http://www.monsitei/images/"+leplan+".png");
    HttpURLConnection con = (HttpURLConnection)ulrn.openConnection();
    InputStream is = con.getInputStream();
    Bitmap bmp = BitmapFactory.decodeStream(is);
    	if (null != bmp)
    	imgView.setImageBitmap(bmp);
          else
          System.out.println("The Bitmap is NULL");
          }catch(Exception e){}{
       }
    }

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    322
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 322
    Par défaut
    Je pense que c'est une erreur de copier coller mais la création de l'url n'est pas bonne. Trace pour voir s'il n'y a pas d'exception et donnes nous le résultat

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 312
    Par défaut
    Bonjour

    Quand je teste avec le debug
    sur la ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    URL ulrn = new URL"http://www.monsitei/images/"+leplan+".png");
    j'ai bien cette valeur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://www.monsitei/images/amiens.png
    Quand j'arrive à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if (null != bmp)
    	imgView.setImageBitmap(bmp);
            else
            System.out.println("The Bitmap is NULL");
     
           }catch(Exception e){}{
    c'est catch(Exception e) qui est retenu

    Qu'elle peut être l'erreur ?

  6. #6
    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,

    c'est catch(Exception e) qui est retenu

    Qu'elle peut être l'erreur ?
    Ben justement l'Exception est là pour ça , tu trouveras ta réponse dans la variable "e".

    pour l'afficher en phase de test , tu peux le faire comme cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(e.getMessage());

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 312
    Par défaut
    Merci pour ta reponse mais si j'écris

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    }catch(Exception e){}{
          System.out.println(e.getMessage());
    }
    e est surligné

  8. #8
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    322
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 322
    Par défaut
    Essaye avec ça : e.printStackTrace(); à l’intérieur de ton catch.
    Y a pas de raison pour que ça ne marche pas. Qu'est ce que éclipse te propose pour corriger ton "e" ?

  9. #9
    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
    Tu n'as pas mis le code au bon endroit .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    }catch(Exception e){
          System.out.println(e.getMessage());
    }

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 312
    Par défaut
    Bonjour

    C'est pas comme ca ?

    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
    private void fillData() {
    	Cursor c = mDbHelper.fetchAllMagasin(laville);
    	startManagingCursor(c);
    	if(c!=null && c.moveToFirst()){
    	String leplan=c.getString(c.getColumnIndex("plan"));
    	ImageView imgView =(ImageView)findViewById(R.id.imgplan);
    	try{
    	URL ulrn = new URL("http://www.monsitei/images/"+leplan+".png");
    	HttpURLConnection con = (HttpURLConnection)ulrn.openConnection();
    	InputStream is = con.getInputStream();
    	BufferedInputStream bis = new BufferedInputStream(is, 8192);
    	Bitmap bm = BitmapFactory.decodeStream(bis);
    	bis.close();
    	is.close();
    	      if (null != bm)
    		imgView.setImageBitmap(bm);
    	      else
    	        System.out.println("The Bitmap is NULL");
    	 	}catch(Exception e){}{
    	        System.out.println("Exc="+e);  
    	        }
    		}
    		}

  11. #11
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    322
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 322
    Par défaut
    Citation Envoyé par Vanessa48 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    catch(Exception e){}{
    	        System.out.println("Exc="+e);  
    	        }
    Tu as une accolade ouvrante et fermante juste après le catch. Il faut les supprimer. C'est pour cela que la variable "e" n'est pas reconnu. C'est que voulais dire Feanorin dans son dernier post.

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 312
    Par défaut
    Merci pour ta reponse
    Apres correction, j'ai ces erreurs dans le logcat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    04-07 08:51:06.467: INFO/ActivityManager(65): Starting activity: Intent { cmp=com.wtp. lesvilles /.voirplan (has extras) }
    04-07 08:51:06.967: INFO/System.out(298): Exc=java.io.FileNotFoundException: http://www.monsitei/images/orleans.png
    04-07 08:51:07.427: INFO/ActivityManager(65): Displayed activity com.wtp.lesvilles/.voirplan: 755 ms (total 755 ms)
    Cela provient de quoi ?

  13. #13
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    322
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 322
    Par défaut
    D'après ce que tu nous a fourni, je vois qu'il ne trouve pas l'image que tu lui demande d'afficher.
    Au lieu de mettre "e" mets plutôt comme "e.getMessage()". On aura plus d'informations

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 312
    Par défaut
    J'ai toujours le meme message dans le logcat

  15. #15
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    322
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 322
    Par défaut
    Citation Envoyé par Vanessa48 Voir le message
    http://www.monsitei/images/orleans.png
    Elle est bizarre ton adresse. Tu as surement oublié le .com ou un truc comme ça

  16. #16
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 312
    Par défaut
    Erreur dans le copier/coller
    c'est
    http://www.monsitei.mobi/images/orleans.png

  17. #17
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 312
    Par défaut
    Quand je fais un pas-à-pas sur le debug
    arrivé à cette ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    InputStream is = con.getInputStream();
    Cela saute directement à

    C'est pour cela qu'il ne trouve pas le bitmap
    Comment cela se fait-il, il ne lit pas ces lignes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    BufferedInputStream bis = new BufferedInputStream(is, 8192);
    				Bitmap bm = BitmapFactory.decodeStream(bis);
    				bis.close();
    				is.close();

  18. #18
    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
    Bonjour,

    Moi quand j'essaie d'accèder à ton image (par mon navigateur de pc fixe), j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Network Access Message: The website cannot be found
    Ton erreur ne viendrait-elle pas de là ?

  19. #19
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 312
    Par défaut
    Merci à tous pour votre aide
    et votre patience
    Effectivement il y avait une erreur sur l'URL

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tomcat] Affichage d'une image
    Par david71 dans le forum Tomcat et TomEE
    Réponses: 8
    Dernier message: 15/02/2005, 11h37
  2. Réponses: 2
    Dernier message: 27/12/2004, 09h23
  3. Pbs d'affichage d'une image sur un panel
    Par ysr1 dans le forum C++Builder
    Réponses: 2
    Dernier message: 23/09/2004, 09h55
  4. [FLASH MX] Qualité d'affichage d'une image
    Par n_tony dans le forum Flash
    Réponses: 3
    Dernier message: 16/08/2004, 09h44
  5. Affichage d'une image sous linux
    Par Braim dans le forum x86 32-bits / 64-bits
    Réponses: 5
    Dernier message: 25/03/2003, 10h41

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