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

API standards et tierces Android Discussion :

Connexion entre MySQL et Android


Sujet :

API standards et tierces Android

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 13
    Points : 7
    Points
    7
    Par défaut Connexion entre MySQL et Android
    Bonjour,

    Je suis en train de développer une application sous Android, j'ai une base de données créée sous MySQL et j'aimerais accéder à cette base à partir de l'application.
    J'ai téléchargé le My SQL Connector et je l'ai ajouté au BuildPath de mon projet une fois ajouté Eclipse m'indique que j'ai une faute dans mon projet (toutes mes classes sont correctes) avec cette exception :
    UNEXPECTED TOP-LEVEL EXCEPTION:
    com.android.dx.util.ExceptionWithContext
    [2011-04-14 12:20:04 - plplplplp] Dx at com.android.dx.util.ExceptionWithContext.withContext(ExceptionWithContext.java:46)
    [2011-04-14 12:20:04 - plplplplp] Dx at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslator.java:340)
    [2011-04-14 12:20:04 - plplplplp] Dx at com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.java:131)
    [2011-04-14 12:20:04 - plplplplp] Dx at com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.java:85)
    [2011-04-14 12:20:04 - plplplplp] Dx at com.android.dx.command.dexer.Main.processClass(Main.java:369)
    [2011-04-14 12:20:04 - plplplplp] Dx at com.android.dx.command.dexer.Main.processFileBytes(Main.java:346)
    [2011-04-14 12:20:04 - plplplplp] Dx at com.android.dx.command.dexer.Main.access$400(Main.java:59)
    [2011-04-14 12:20:04 - plplplplp] Dx at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:294)
    [2011-04-14 12:20:04 - plplplplp] Dx at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:244)
    [2011-04-14 12:20:04 - plplplplp] Dx at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:130)
    [2011-04-14 12:20:04 - plplplplp] Dx at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:108)
    [2011-04-14 12:20:04 - plplplplp] Dx at com.android.dx.command.dexer.Main.processOne(Main.java:313)
    [2011-04-14 12:20:04 - plplplplp] Dx at com.android.dx.command.dexer.Main.processAllFiles(Main.java:233)
    [2011-04-14 12:20:04 - plplplplp] Dx at com.android.dx.command.dexer.Main.run(Main.java:185)
    [2011-04-14 12:20:04 - plplplplp] Dx at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    [2011-04-14 12:20:04 - plplplplp] Dx at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    [2011-04-14 12:20:04 - plplplplp] Dx at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    [2011-04-14 12:20:04 - plplplplp] Dx at java.lang.reflect.Method.invoke(Unknown Source)
    [2011-04-14 12:20:04 - plplplplp] Dx at com.android.ide.eclipse.adt.internal.build.DexWrapper.run(DexWrapper.java:179)
    [2011-04-14 12:20:04 - plplplplp] Dx at com.android.ide.eclipse.adt.internal.build.BuildHelper.executeDx(BuildHelper.java:585)
    [2011-04-14 12:20:04 - plplplplp] Dx at com.android.ide.eclipse.adt.internal.build.builders.PostCompilerBuilder.build(PostCompilerBuilder.java:490)
    [2011-04-14 12:20:04 - plplplplp] Dx at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:717)
    [2011-04-14 12:20:04 - plplplplp] Dx at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    [2011-04-14 12:20:04 - plplplplp] Dx at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:191)
    [2011-04-14 12:20:04 - plplplplp] Dx at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:228)
    [2011-04-14 12:20:04 - plplplplp] Dx at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:281)
    [2011-04-14 12:20:04 - plplplplp] Dx at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    [2011-04-14 12:20:04 - plplplplp] Dx at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:284)
    [2011-04-14 12:20:04 - plplplplp] Dx at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:340)
    [2011-04-14 12:20:04 - plplplplp] Dx at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:363)
    [2011-04-14 12:20:04 - plplplplp] Dx at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143)
    [2011-04-14 12:20:04 - plplplplp] Dx at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241)
    [2011-04-14 12:20:04 - plplplplp] Dx at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    [2011-04-14 12:20:04 - plplplplp] Dx Caused by: java.lang.NullPointerException
    [2011-04-14 12:20:04 - plplplplp] Dx at com.android.dx.cf.code.Ropper$SubroutineInliner.involvedInSubroutine(Ropper.java:1518)
    [2011-04-14 12:20:04 - plplplplp] Dx at com.android.dx.cf.code.Ropper$SubroutineInliner.mapOrAllocateLabel(Ropper.java:1539)
    [2011-04-14 12:20:04 - plplplplp] Dx at com.android.dx.cf.code.Ropper$SubroutineInliner.copyBlock(Ropper.java:1457)
    [2011-04-14 12:20:04 - plplplplp] Dx at com.android.dx.cf.code.Ropper$SubroutineInliner.inlineSubroutineCalledFrom(Ropper.java:1412)
    [2011-04-14 12:20:04 - plplplplp] Dx at com.android.dx.cf.code.Ropper.inlineSubroutines(Ropper.java:1286)
    [2011-04-14 12:20:04 - plplplplp] Dx at com.android.dx.cf.code.Ropper.doit(Ropper.java:652)
    [2011-04-14 12:20:04 - plplplplp] Dx at com.android.dx.cf.code.Ropper.convert(Ropper.java:252)
    [2011-04-14 12:20:04 - plplplplp] Dx at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslator.java:252)
    [2011-04-14 12:20:04 - plplplplp] Dx ... 31 more
    ...while processing reuseAndReadPacket (Lcom/mysql/jdbc/Buffer;I)Lcom/mysql/jdbc/Buffer;
    ...while processing com/mysql/jdbc/MysqlIO.class
    Quelqu'un saurait-il m'indiquer comment résoudre ce problème ?

    Merci d'avance pour votre aide.

  2. #2
    Membre confirmé
    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
    Points : 486
    Points
    486
    Par défaut
    Hum je connaissais pas My SQL connector, je peux pas trop t'aider sur ce problème, mais si tu y arrive toujours pas, y'a une autre technique. J'ai une BDD MySQL et je fais appel à des fichier php qui eux attaquent la BDD.


    Edit: Y'a cette ligne dans ton message d'erreur

    [2011-04-14 12:20:04 - plplplplp] Dx Caused by: java.lang.NullPointerException

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Euh, pour le connector je l'ai téléchargé d'ici http://www.mysql.com/downloads/connector/j/, ça permet de connecter à la BD depuis l'application, j'ai déjà fait une simple application qui marche avec les mêmes détails mais pas sous Android..

    voilà la méthode avec laquelle je me connecte à la base :
    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
        public java.sql.Connection CreateConnexion()
        {
            java.sql.Connection Connexion = null;
            try
            {
                Class.forName("com.mysql.jdbc.Driver").newInstance();
                System.out.println("xDDDDDDDDD");
            } 
            catch (InstantiationException e)
            {
                e.printStackTrace();
            } 
            catch (IllegalAccessException e)
            {
                e.printStackTrace();
            } 
            catch (ClassNotFoundException e)
            {
                e.printStackTrace();
            }
            try 
            {
                Connexion = DriverManager.getConnection("jdbc:mysql://localhost:3306/projet", "root", "");
                System.out.println("OHSHIT");
            } 
            catch (SQLException e)
            {
                System.out.println("Connexion");
            }    
            return Connexion;
        }

  4. #4
    Membre confirmé
    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
    Points : 486
    Points
    486
    Par défaut
    Je suis pas sur que l'erreur doit provenir du code que tu montre sachant que tu met des System.out.println un peu de partout, rajoutes-en dans les autres catch mais je pense pas que ça vient de là.

    Ton application pour laquelle tu as déjà utiliser MySQL connector, c'était pour quel support qu'elle était destinée?

    Parce que personnellement j'avais fait pas mal de recherche pour me connecter à un BDD MySQL via mon appli android et tous le monde disait qu'il fallait passé par un fichier php...De plus il se dit que c'est pas trop conseillé qu'une appli se connecte elle même à une BDD.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 21
    Points : 39
    Points
    39
    Par défaut
    Connexion = DriverManager.getConnection("jdbc:mysql://localhost:3306/projet", "root", "");
    Tu veux dire que ton serveur MySQL est hébergé sur le téléphone ? ça le parait bizarre

    A mon avis il faut que tu :
    1. corrige ta chaine de connexion pour y mettre l'ip du serveur
    2. vérifie que le serveur écoute sur son ip publique


    Par défaut (et chez presque tous les hébergeurs) MySQL n'écoute que les demandes venant de "localhost", donc des applications qui tournent en local.
    D'ou la necessité de passer par des fichiers php, qui eux sont exécuté sur le serveur même, pas sur le téléphone.

  6. #6
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    @malgache : c'est une application téléphonique qui gère le trafic routier, donc j'ai créé une BD ou je dois stocker les utilisateurs via MySQL et je dois y accéder.. Le truc du fichier php ça a marché pour toi ??

    @Iridian : si j'ai bien compris le localhost là se réfère à l'émulateur d'androïde et pas ma machine.. alors c'est quoi l'adresse qu'il faut mettre pour se référer à la machine ?

  7. #7
    Membre confirmé
    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
    Points : 486
    Points
    486
    Par défaut
    Oui moi ca marche nickel.
    Je fais appel à des fichiers php qui eux se connectent à la BDD exécutent des requêtes. Après les résultats des requêtes je les récupères (c'est pas comme par magie, je dois parser du JSon et tout, si tu fais cette méthode et que t'as besoin d'aide hésite pas) pour les afficher dans des Spinner.

  8. #8
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Ça sera merveilleux je vais commencer avec cette méthode

  9. #9
    Membre confirmé
    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
    Points : 486
    Points
    486
    Par défaut
    ^^ Si t'as des soucis n'hésite pas, et tu verra, c'est très simple, tu va vite la mettre en place ta connexion à la BDD

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 21
    Points : 39
    Points
    39
    Par défaut
    Citation Envoyé par Mizo120 Voir le message
    @Iridian : si j'ai bien compris le localhost là se réfère à l'émulateur d'androïde et pas ma machine.. alors c'est quoi l'adresse qu'il faut mettre pour se référer à la machine ?
    L'adresse ip de ton pc sur ton réseau local ...
    Mais franchement, si tu comptes utiliser l'application "en production" sur un serveur externe, chez un hébergeur, passe par des services en php

  11. #11
    Membre du Club Avatar de Jesmar
    Homme Profil pro
    Inscrit en
    Juin 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 115
    Points : 62
    Points
    62
    Par défaut
    hello, la technique avec php m’intéresse
    malgache, tu l'as fait toi-même ou avec un tuto ?

    edit : j'essaye de suivre ce tuto sans trop de résultats http://www.erlem-technologies.com/fr...a-laide-de-php

  12. #12
    Membre confirmé
    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
    Points : 486
    Points
    486
    Par défaut
    J'ai juste fait une recherche sur les diverses fonction à utiliser. En gros j'ai fait un fichier php par requête, et je me connecte au fichier dont j'ai besoin.

    Le tuto je l'ai pas lu en entier, et il y a plein plein plein de truc lol, mais en gros tu dois te focalise sur 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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
    54	        nameValuePairs.add(new BasicNameValuePair("ville","L"));
    55	 
    56	        // Envoie de la commande http
    57	        try{
    58	            HttpClient httpclient = new DefaultHttpClient();
    59	            HttpPost httppost = new HttpPost(strURL);
    60	            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
    61	            HttpResponse response = httpclient.execute(httppost);
    62	            HttpEntity entity = response.getEntity();
    63	            is = entity.getContent();
    64	 
    65	        }catch(Exception e){
    66	            Log.e("log_tag", "Error in http connection " + e.toString());
    67	        }
    68	 
    69	        // Convertion de la requête en string
    70	        try{
    71	            BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
    72	            StringBuilder sb = new StringBuilder();
    73	            String line = null;
    74	            while ((line = reader.readLine()) != null) {
    75	                sb.append(line + "\n");
    76	            }
    77	            is.close();
    78	            result=sb.toString();
    79	        }catch(Exception e){
    80	            Log.e("log_tag", "Error converting result " + e.toString());
    81	        }
    82	        // Parse les données JSON
    83	        try{
    84	            JSONArray jArray = new JSONArray(result);
    85	            for(int i=0;i<jArray.length();i++){
    86	                JSONObject json_data = jArray.getJSONObject(i);
    87	                // Affichage ID_ville et Nom_ville dans le LogCat
    88	                Log.i("log_tag","ID_ville: "+json_data.getInt("ID_ville")+
    89	                        ", Nom_ville: "+json_data.getString("Nom_ville")
    90	                );
    91	                // Résultats de la requête
    92	                returnString += "\n\t" + jArray.getJSONObject(i);
    93	            }
    94	        }catch(JSONException e){
    95	            Log.e("log_tag", "Error parsing data " + e.toString());
    96	        }
    97	        return returnString;
    Moi j'ai seulement ca pour me connecter à mes fichier en php, juste que j'ai pas tout à fait la même syntaxe à certain moment.

    J'ai remonté la conversion en sting dans le premier try, et j'ai enlevé ces deux lignes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    HttpEntity entity = response.getEntity();
    63	            is = entity.getContent();

    Moi j'ai ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
    		StringBuilder sb = new StringBuilder();
    		String line = null;
    		while ((line = reader.readLine()) != null) 
    		{
    			sb.append(line + "\n");
    		}
    		this.result=sb.toString();
    Si tu veux un peu plus d'aide, n'hésite pas

  13. #13
    Membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 52
    Points : 49
    Points
    49
    Par défaut
    ca fait un moment que j'essaie avec ce tutoriel sans resultat http://www.erlem-technologies.com/fr...a-laide-de-php

    Quelqu'un a t il réussi svp ??

  14. #14
    Membre confirmé
    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
    Points : 486
    Points
    486
    Par défaut
    Salut,

    C'est où que ca plante pour toi?

  15. #15
    Membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 52
    Points : 49
    Points
    49
    Par défaut
    Je ne sais pas vraiment vu ke j'ai aucun message d erreur
    En fait moi j'essai de faire un test d'authentification

    Donc j ai le script php qui se connect a la base avc la requete egalemen
    et au click sur le bouton valider je dois pouvoir recuperer le login et le mot de pass

    ds un 1er temps je cherchais a juste afficher le resultat de la requete
    mais il ne se passe rien

    est ce que tu veux voir les sources ?

  16. #16
    Membre confirmé
    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
    Points : 486
    Points
    486
    Par défaut
    Désolé, je donne pas les sources, et en plus elles ne m'appartiennent pas.

    Montre ton code php et ton code java

  17. #17
    Membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 52
    Points : 49
    Points
    49
    Par défaut
    je demandais si tu voulais voir mes sources
    merci pour tes reponses
    voici le code php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    mysql_connect("localhost","root","");
    	  mysql_select_db("nom_de_la_base");
    	  $requete=mysql_query("SELECT login, pwd from identifiant
                                      WHERE login = '".$_REQUEST['login']."'
                                      AND pwd ='".$_REQUEST['mdp']."'");
    	  while($row=mysql_fetch_assoc($requete))
    	  	$output[]=$row;
    	  print(json_encode($output));
    	  mysql_close();*/
    je te mets ce bout de code Java

    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
     
     public void valider(){
     
    	    	//on réupère le texte écrit dans l'EditText
            	pseudo = textfield1.getText().toString();
        		mot_de_passe = textfield2.getText().toString();
     
        		//Toast.makeText(HelloAndroid.this,	"Hello " + pseudo + " !", Toast.LENGTH_LONG).show();
    		//((TextView) findViewById(R.id.TextViewHello)).setText("vous êtes connecté " + pseudo + " !");
     
     
        	// envoi de la requete au script php
        	ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
       		nameValuePairs.add(new BasicNameValuePair("login", pseudo));
       		nameValuePairs.add(new BasicNameValuePair("pwd", mot_de_passe));
     
       		final String strURL = "http://adr_locale/rep/authentification.php";
        		InputStream is = null;
        		String result = "";
       		// Envoie de la commande http
            try{
                HttpClient httpclient = new DefaultHttpClient();
                HttpPost httppost = new HttpPost(strURL);
                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                HttpResponse response = httpclient.execute(httppost);
                HttpEntity entity = response.getEntity();
                is = entity.getContent();
     
            }
            catch(Exception e){
            	Log.e("log_tag", "Error in http connection " + e.toString());
    		}
            // Convertion de la requête en string
           try{
               BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
               StringBuilder sb = new StringBuilder();
               String line = null;
               while ((line = reader.readLine()) != null) {
            	      sb.append(line + "\n");  }
               is.close();
               result=sb.toString();
           	System.out.println(result);
           }
           catch(Exception e){
        	   Log.e("log_tag", "Error converting result " + e.toString());
           }
           // parse les donnes JSON
               try{
            	   JSONArray jArray = new JSONArray(result);
            	   for(int i=0;i<jArray.length();i++){
     
                       JSONObject json_data = jArray.getJSONObject(i);
     
                       Log.i("log_tag","id: "+json_data.getInt("id_utilisateur")+
     
                               ", name: "+json_data.getString("pwd")
                  );
        	   }
        	   System.out.println(jArray.getJSONObject(0));
           }
           catch(JSONException e){
        	   Log.e("log_tag", "Error parsing data " + e.toString());
             	}  
            }
    Merci

  18. #18
    Membre confirmé
    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
    Points : 486
    Points
    486
    Par défaut
    Autant pour moi, j'avais lu "je peux voir les sources" ^^.

    Mais t'as rien qui s'affiche dans ta LogCat?
    Et j'ai vu qu'il y a une

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(result);
    Tu n'as rien non plus dans ta console?

    Et la ou tu récupère le parsage, quand tu fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    json_data.getInt("id_utilisateur")
    Je pense que c'est plutôt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    json_data.getInt("login")

  19. #19
    Membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 52
    Points : 49
    Points
    49
    Par défaut
    autant pour moi c'est une erreur de ma part
    c'est un getString("login") que j'avais au départ, j'ai dû modifié ça en bidouillant
    justement rien ne s 'affiche dans la console
    et dans logCat egalement rien

    c'est la première fois que je fais du dev pour smartphone
    j'ai commencé il n' y a pas plus de 3 jours
    alors si t'as des remarques et des conseils je suis preneur

    aussi ça serait bien si t'as un peu de temps pour m'expliquer, ce bout de code
    surtout la ligne en gras
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     try{
                HttpClient httpclient = new DefaultHttpClient();
                HttpPost httppost = new HttpPost(strURL);
                 httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                HttpResponse response = httpclient.execute(httppost);
                HttpEntity entity = response.getEntity();
                is = entity.getContent();
    
            }
    merci

  20. #20
    Membre confirmé
    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
    Points : 486
    Points
    486
    Par défaut
    Je suis pas un expert non plus, mais en gros tu lie les paramètre que t'as rentré dans nameValuePairs à on httppost pour pouvoir les récupèrer dans ton fichier php. J'ai pas beaucoup lu la doc sur ça, je peux pas plus t'avancer.

    Moi dans les moments comme ça, je met des test à la con, pour voir au moins si je rentre dans les conditions, par exemple je ferai ç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
    public void valider(){
     
    	    	//on réupère le texte écrit dans l'EditText
            	pseudo = textfield1.getText().toString();
        		mot_de_passe = textfield2.getText().toString();
     
        		Log.i("log_tag","j'ai récupéré les info"); 
     
        		//Toast.makeText(HelloAndroid.this,	"Hello " + pseudo + " !", Toast.LENGTH_LONG).show();
    		//((TextView) findViewById(R.id.TextViewHello)).setText("vous êtes connecté " + pseudo + " !");
     
     
        	// envoi de la requete au script php
        	ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
       		nameValuePairs.add(new BasicNameValuePair("login", pseudo));
       		nameValuePairs.add(new BasicNameValuePair("pwd", mot_de_passe));
     
       		final String strURL = "http://adr_locale/rep/authentification.php";
        		InputStream is = null;
        		String result = "";
       		// Envoie de la commande http
            try{
     
    Log.i("log_tag","je vais aller voir le php"); 
     
                HttpClient httpclient = new DefaultHttpClient();
                HttpPost httppost = new HttpPost(strURL);
                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                HttpResponse response = httpclient.execute(httppost);
                HttpEntity entity = response.getEntity();
                is = entity.getContent();
     
            }
            catch(Exception e){
            	Log.e("log_tag", "Error in http connection " + e.toString());
    		}
            // Convertion de la requête en string
           try{
     
    Log.i("log_tag","je convertie"); 
     
               BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
               StringBuilder sb = new StringBuilder();
               String line = null;
               while ((line = reader.readLine()) != null) {
            	      sb.append(line + "\n");  }
               is.close();
               result=sb.toString();
           	System.out.println(result);
           }
           catch(Exception e){
        	   Log.e("log_tag", "Error converting result " + e.toString());
           }
           // parse les donnes JSON
               try{
            	   JSONArray jArray = new JSONArray(result);
            	   for(int i=0;i<jArray.length();i++){
     
                       JSONObject json_data = jArray.getJSONObject(i);
     
                       Log.i("log_tag","id: "+json_data.getInt("id_utilisateur")+
     
                               ", name: "+json_data.getString("pwd")
                  );
        	   }
        	   System.out.println(jArray.getJSONObject(0));
           }
           catch(JSONException e){
        	   Log.e("log_tag", "Error parsing data " + e.toString());
             	}  
            }
    Et après je vérifie dans mon logCat.

    Sinon tu peux toujours utiliser le debuggueur qui sera beaucoup plus efficace ^^, tu suis l'évolution de ta variable pour voir ce qu'elle contient

Discussions similaires

  1. connexion entre mysql et vb.net
    Par tun_code dans le forum Administration
    Réponses: 1
    Dernier message: 14/11/2012, 11h42
  2. Connexion entre mysql et Android
    Par PIEPLU dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 25/03/2012, 01h14
  3. Problème connexion entre MySQL et Android
    Par omarouen dans le forum Android
    Réponses: 4
    Dernier message: 23/02/2012, 16h34
  4. Connexion entre MySQL et Android
    Par omarouen dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 17/02/2012, 09h50
  5. la connexion entre MYSQL et MYECLIPSE
    Par brahda dans le forum Langages de programmation
    Réponses: 0
    Dernier message: 03/04/2011, 17h34

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