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 :

Récupération du résultat d'une requête


Sujet :

Android

  1. #1
    Membre chevronné
    Homme Profil pro
    IUT Informatique
    Inscrit en
    Mars 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : IUT Informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 412
    Par défaut Récupération du résultat d'une requête
    Bonjour,

    J'ai un léger souci au niveau du résultat d'une requête.

    Mon appli Android appel un fichier php qui effectue une requête, je récupère résultat et je parse avec tous ce qui va.
    Mais dans cas où il n'y a pas de résultat ou d'un problème lors du parsage, je passe dans un catch, je fais un log pour voir ce que contient ma variab result. Dans mon esprit il y a deux cas, problème de parsage, donc ma variab result n'est pas vide, sinon c'est qu'il n'y a pas de résultat, donc el est vide.
    Du coup j'ai fait un log pour voir contenu lorsqu'el est vide, et je vois dans ma jolie LogCat que result est égal à null.

    Pour pouvoir bien dissocier s cas et afficher l'erreur exact à l'utilisateur, j'ai mi

    Code : Séctionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if(result==null)
    {
     //dire à l'utilisateur qu'il n'existe pas d'auto-éco dans cette vil
    }
    else
    {
    //dire à l'utilisateur que c'est une erreur lors du parsage
    }
    souci, c'est qu'il passe jamais dans mon if, même lorsque result est égal à null, du coup je comprend pas si c'est un tour de magie de mon appli où si c'est moi qui ai mal interprété quelques chose ^^

  2. #2
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Par défaut
    Tu as bien vérifié au debugueur contenu de ta variab result ?

    Sinon, lorsqu'il a trop de trucs bizarres, tente un can sur ton projet dans eclipse.

  3. #3
    Membre chevronné
    Homme Profil pro
    IUT Informatique
    Inscrit en
    Mars 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : IUT Informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 412
    Par défaut
    Si utilisé LogCat en guise de débuggueur est autorisé, oui on peut dire que j'utilise un débuggueur.

    Et comme erreur pour parsage, il me dit en gros que mon JArray doit commencé par un '['

    Du coup, avant même try, j'ai mi mon if, mais il rentre toujours dans ce fameux if.

    J'ai tenté un can en vain, je vais continuer de chercher, mais j'envisage de monter un tour de magie de programmation si je trouve pas souci :p

  4. #4
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Par défaut
    Pour ce genre d'erreur, il est plus que vivement conseillé d'utiliser debugueur. Tu pourras vraiment suivre l'évolution de ta variab et faire du pas-à-pas.
    Chose qui est diffici via forum
    Peux-tu nous donner tout de même un code un peu plus compt ?

    Merci.

  5. #5
    Membre chevronné
    Homme Profil pro
    IUT Informatique
    Inscrit en
    Mars 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : IUT Informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 412
    Par défaut
    Ah ben j'ai jamais utilisé débuggueur, je suppose que c'est dans menu run et je lance debug?

    Sinon mon code c'est celui-là mais avec des lignes rajouter pour s test:

    Code : Séctionner 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
     
    resultatFinal = null;
    	jArray = null;
    	listeResultat.car();
    	List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); 
        nameValuePairs.add(new BasicNameValuePair("CodeDepartement",codeDepartement));
        nameValuePairs.add(new BasicNameValuePair("sddsf","1"));
        try 
        {
        	HttpClient httpclient = new DefaultHttpClient();
            HttpPost httppost = new HttpPost("url");
    		httppost.setEntity(new UrncodedFormEntity(nameValuePairs));
    		HttpResponse response = httpclient.execute(httppost);
    		BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
    		StringBuilder sb = new StringBuilder();
    		String line = null;
    		whi ((line = reader.readLine()) != null) 
    		{
    			sb.append(line + "\n");
    		}
     
    		if(sb.toString()==null)
    		{
    			Log.i(TAG,"je suis null");
    		}
    		this.result=sb.toString();
        }
        catch(Exception e)
        {
            Log.i(TAG, "Error in http connection "+e.toString());
            listeResultat.add("Erreur1");
            return listeResultat;
        }
     
        if(this.result!=null)
        {
        	Log.i(TAG,"result= "+this.result);
        	try
            {
            	jArray = new JSONArray(result);
                for(int i=0;i<jArray.ngth();i++)
                {
                	resultatFinal = jArray.getJSONObject(i);
                	listeResultat.add(resultatFinal.getString("Vil"));
                }
     
                return listeResultat;
            }
            catch(JSONException e)
            {
            	Log.i(TAG, "Error parsing data "+e.toString());
                listeResultat.add("Erreur2");
                return listeResultat;
            }
        }
        else
    	{
    		Log.i(TAG,"nullll");
    		listeResultat.add("Erreur3");
        	return listeResultat;
    	}

    Edit:Effectivement débug sert beaucoup.

    Ma variab ne contient pas null, mais un tabau dans quel j'ai une ttre par case ^^. Merci de m'avoir orienté vers débug, je vais réussir à me débrouilr maintenant

Discussions similaires

  1. Réponses: 3
    Dernier message: 10/11/2010, 17h20
  2. [ZF 1.10] Récupération du résultat d'une requête (léger problème)
    Par kawa67 dans le forum Zend Framework
    Réponses: 17
    Dernier message: 09/06/2010, 11h52
  3. Réponses: 3
    Dernier message: 09/10/2009, 20h20
  4. [PDO] Récupération des résultats d'une requête
    Par nikco dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 09/06/2009, 01h26
  5. Récupération du résultat d'une requête sur une tab liée
    Par champijulie dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 05/06/2007, 12h26

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