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 de données provenant d'une base MySQL sous Android


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 30
    Par défaut Affichage de données provenant d'une base MySQL sous Android
    Bonsoir,
    J' ai développé ce programme qui permet de gérer une catalogue !
    Le programme doit afficher la liste des catégorie des produits
    qui sont dans une base de données mysql, via php et mysql et json.
    Et lorsque les catégories et leurs images seront affichés, si on clique
    sur une catégorie, on verra les détails d une catégorie . Mais
    j' ai fini, ça a récupéré les données sur la base des données, mais
    ça n affiche rien ! AIDEZ MOI A DÉBOGUER SVP

    VOICI LE CODE
    Code Java : 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
     
    package km.synapse.catalogue.model;
     
    import java.io.InputStream;
    import java.net.URL;
    import java.util.List;
     
    import km.synapse.catalogue.MainActivity;
    import km.synapse.catalogue.R;
     
    import android.app.Activity;
    import android.content.Context;
    import android.graphics.Bitmap;
    import android.graphics.BitmapFactory;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.ArrayAdapter;
    import android.widget.ImageView;
    import android.widget.TextView;
     
    public class ListCatModel extends ArrayAdapter<Categorie> {
     
    	private List<Categorie> categories;
     
    	public ListCatModel(Context context, int textViewResourceId,List<Categorie>cats) {
    		super(context, textViewResourceId,cats);
    		this.categories=cats;
    	}
         @Override
        public View getView(final int position, View convertView, ViewGroup parent) {
        	LayoutInflater inflater = (LayoutInflater)
        	getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        	  View rowView = inflater.inflate(R.layout.cat_item,parent );
        	  TextView textView =(TextView) rowView.findViewById(R.id.textViewCat);
        	  final ImageView imageView =(ImageView) rowView.findViewById(R.id.imageViewCat);
        	  textView.setText(categories.get(position).getNomCategorie());
        	  textView.setText(categories.get(position).getNomCategorie());
        	  new Thread(new Runnable() {
     
    			@Override
    			public void run() {
    				try{
    				String nomImage =categories.get(position).getPhotoCat();	
    				InputStream is = new URL(MainActivity.url+"/Catalogue/images"+nomImage).openStream();
    				Bitmap bitmap = BitmapFactory.decodeStream(is);
    				imageView.setImageBitmap(bitmap);
     
     
    				}
    				 catch(Exception e){
    					 e.getMessage();
    				 }
     
    			}
    		}).start();
        	return rowView;
        }
    }

    --------------------------CLASS CATEGORIE--------------------------------
    Code Java : 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
    package km.synapse.catalogue.model;
     
    import java.io.Serializable;
     
    import com.google.gson.annotations.SerializedName;
     
    public class Categorie implements Serializable{
    	@SerializedName ("id_cat")
    	private Long idCategorie;
    	@SerializedName ("nomCat")
    	private String nomCategorie;
    	@SerializedName ("description")
    	private String descrition;
    	@SerializedName ("photo")
    	private String photoCat;
    	public Categorie(Long idCategorie, String nomCategorie, String descrition,
    			String photoCat) {
    		super();
    		this.idCategorie = idCategorie;
    		this.nomCategorie = nomCategorie;
    		this.descrition = descrition;
    		this.photoCat = photoCat;
    	}
    	public Categorie() {
    		super();
    		// TODO Auto-generated constructor stub
    	}
    	public Long getIdCategorie() {
    		return idCategorie;
    	}
    	public void setIdCategorie(Long idCategorie) {
    		this.idCategorie = idCategorie;
    	}
    	public String getNomCategorie() {
    		return nomCategorie;
    	}
    	public void setNomCategorie(String nomCategorie) {
    		this.nomCategorie = nomCategorie;
    	}
    	public String getDescrition() {
    		return descrition;
    	}
    	public void setDescrition(String descrition) {
    		this.descrition = descrition;
    	}
    	public String getPhotoCat() {
    		return photoCat;
    	}
    	public void setPhotoCat(String photoCat) {
    		this.photoCat = photoCat;
    	}
     
    }

  2. #2
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Par défaut
    Histoire d'être clair : tu réussi bien à récupérer les informations ? Tu réussis bien à les transformer ensuite en objet exploitable ? Ton souci ne se situe qu'au niveau de l'affichage de l'image, c'est bien ça ? Le reste des cellules s'affichent bien sans problème ?
    As-tu une quelconque stacktrace dans le LogCat ?

    Tout d'abord, remarque d'usage sur les exceptions : mettre du Log.e(TAG, MESSAGE, EXCEPTION) dans les catch, où TAG est un tag permettant de filtrer les logs, MESSAGE est un message d'erreur, EXCEPTION est l'exception générée.

    Ensuite, tu es dans un contexte particulier de ListView, c'est à dire que, entre le début du chargement de l'image, et sa fin, la vue en question n'est potentiellement plus à l'écran, d'où un problème d'affichage. Pour éviter celui-ci, il te faudra mettre en place un système de cache en ROM (en RAM si t'as pas excessivement d'images, et que celles-ci ne sont pas lourdes... mais ça fait un bordel de gestion de ressources aussi) pour pouvoir associer ton image à ton objet. Un simple [#]Context#openFileOutput[/#] devrait suffire, je pense. Tu sauves en local sous le nom de l'URL que tu vas topper (ou un nom généré que tu peux retrouver), tu vérifies si le fichier existe en local. Si oui, t'affiches, si non, tu DL et t'affiches.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  3. #3
    Membre averti
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 30
    Par défaut NI LES IMAGES, NI LES CELLULES RIEN NE S'Affiche
    Bonsoir,
    merci enormement de me repondre ! mais j'arrive a visualiser les donner JSON sur le locat mais rien sur l'application

  4. #4
    Membre averti
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 30
    Par défaut AFFICHE RIEN
    Nom : 2017-01-09_223305.jpg
Affichages : 131
Taille : 35,0 Ko

    Message d'erreurs
    Nom : 2017-01-09_223201.jpg
Affichages : 134
Taille : 144,5 Ko

  5. #5
    Membre averti
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 30
    Par défaut AFFICHAGE RIEN SUR MYSQL JSON ANDROID
    bonsoir, voici un lien dont vous pouvez telecharger mon projet et me l'oserver ou me le corriger svp,
    http://www.mediafire.com/file/q1cfcf...j07/projet.rar

    Oui j'ai réussi bien à récupérer les informations et à les transformer ensuite en objet exploitable ? (en json )

    Mon souci ne se situe qu'au niveau de l'affichage des l'images les cellules il y a rien qui s'affiche sauf l'ecran blan de mon fichier XML ?


    Merci

    Citation Envoyé par Hizin Voir le message
    Histoire d'être clair : tu réussi bien à récupérer les informations ? Tu réussis bien à les transformer ensuite en objet exploitable ? Ton souci ne se situe qu'au niveau de l'affichage de l'image, c'est bien ça ? Le reste des cellules s'affichent bien sans problème ?
    As-tu une quelconque stacktrace dans le LogCat ?

    Tout d'abord, remarque d'usage sur les exceptions : mettre du Log.e(TAG, MESSAGE, EXCEPTION) dans les catch, où TAG est un tag permettant de filtrer les logs, MESSAGE est un message d'erreur, EXCEPTION est l'exception générée.

    Ensuite, tu es dans un contexte particulier de ListView, c'est à dire que, entre le début du chargement de l'image, et sa fin, la vue en question n'est potentiellement plus à l'écran, d'où un problème d'affichage. Pour éviter celui-ci, il te faudra mettre en place un système de cache en ROM (en RAM si t'as pas excessivement d'images, et que celles-ci ne sont pas lourdes... mais ça fait un bordel de gestion de ressources aussi) pour pouvoir associer ton image à ton objet. Un simple [#]Context#openFileOutput[/#] devrait suffire, je pense. Tu sauves en local sous le nom de l'URL que tu vas topper (ou un nom généré que tu peux retrouver), tu vérifies si le fichier existe en local. Si oui, t'affiches, si non, tu DL et t'affiches.

Discussions similaires

  1. Réponses: 9
    Dernier message: 08/02/2008, 16h17
  2. Réponses: 1
    Dernier message: 14/09/2007, 16h02
  3. Probleme d'affichage avec script php
    Par Misoss dans le forum Langage
    Réponses: 2
    Dernier message: 22/06/2006, 19h50
  4. [CSS] Problème d'affichage sur Mozilla
    Par Vinix dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 13/05/2006, 10h18
  5. probleme d'affichage sur IE
    Par achiou59 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 17/03/2006, 09h35

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