Désolé pour la réponse tardive =) j'ai testé ton lien, mais c'est le code java ou php que je dois mettre?
Désolé pour la réponse tardive =) j'ai testé ton lien, mais c'est le code java ou php que je dois mettre?
Non, le code JSon que ton PHP te génère;
Est-ce que tu as au moins compris ce que tu faisais dans ton code et qu'est que JSon?
C'est toi encore qui nous l'a donné hier:
C'est ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part [{"ID_Ville":"3","Nom_Ville":"Lyon"},{"ID_Ville":"10","Nom_Ville":"Lille}]
Ok merci ^^
Effectivement j'ai une erreur :
Dans de parsing visiblement.. mais comment je la corrige?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Parse error on line 1: ...[{"ID_Ville":"3","Nom_Ville":"Lyon"},{"ID_Ville":"10","Nom_Ville":"Lille}] ---------------------------------------------------------------------^
Bonjour,
Désolé de m'immiscer dans votre conversation, mais il ne manquerait pas simplement un " à la fin ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part [{"ID_Ville":"3","Nom_Ville":"Lyon"},{"ID_Ville":"10","Nom_Ville":"Lille}]
Code : Sélectionner tout - Visualiser dans une fenêtre à part [{"ID_Ville":"3","Nom_Ville":"Lyon"},{"ID_Ville":"10","Nom_Ville":"Lille"}]
Surement ça doit être ça;
je n'ai même pas tenté de m’intéresser à ce code, ne connaissant pas JSon.
Ca aurait été trop facile sinon.
en fait c'était mal copié ce que j'affiche c'est :
---EDIT---
Code : Sélectionner tout - Visualiser dans une fenêtre à part [{"ID_Ville":"3","Nom_Ville":"Lyon"},{"ID_Ville":"10","Nom_Ville":"Lille"}]
Par contre je l'avais mal copié dans le JSONLint et du coup en le copiant bien cette fois j'obtiens :
et ça me met code valid
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 [ { "ID_Ville": "3", "Nom_Ville": "Lyon" }, { "ID_Ville": "10", "Nom_Ville": "Lille" } ]
du coup pourquoi je n'affiche rien dans mon programme Eclipse?
Parce que le log indique clairement que l'erreur provient de "Lille. Je pense qu'il n'arrive pas à trouver la fin de la chaîne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Parse error on line 1: ...[{"ID_Ville":"3","Nom_Ville":"Lyon"},{"ID_Ville":"10","Nom_Ville":"Lille}] ---------------------------------------------------------------------^
Tu verras que c'est vraiment simple quand tu en auras besoinje n'ai même pas tenté de m’intéresser à ce code, ne connaissant pas JSon.
Donc ton programme devrait fonctionner.
et Logcat te dit?
j'ai cette erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 06-09 13:09:01.814: ERROR/log_tag(277): Error parsing data org.json.JSONException: Value Error of type java.lang.String cannot be converted to JSONArray
si tu affiches ta variable "result" dans LogCat; tu as bien le texte que PHP t'a généré dedans?
Non je ne l'affiche pas :s
j'affiche :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 06-09 13:17:10.949: INFO/result(329): Error HTTP request not supported. 06-09 13:17:10.949: INFO/result(329): POST /mesRequestes/Ville.php HTTP/1.1 06-09 13:17:10.949: INFO/result(329): Content-Length: 7 06-09 13:17:10.949: INFO/result(329): Content-Type: application/x-www-form-urlencoded 06-09 13:17:10.949: INFO/result(329): Host: 192.168.32.147 06-09 13:17:10.949: INFO/result(329): Connection: Keep-Alive 06-09 13:17:10.949: INFO/result(329): User-Agent: Apache-HttpClient/UNAVAILABLE (java 1.4) 06-09 13:17:10.949: INFO/result(329): Expect: 100-Continue 06-09 13:17:10.959: ERROR/log_tag(329): Error parsing data org.json.JSONException: Value Error of type java.lang.String cannot be converted to JSONArray
Voilà;
donc ton soucis vient de la requêtre HTTP de ton Android pour récupérer la valeur qui est fausse;
C/C le bout de code qui envoie une requête à ta page PHP et qui récupère le résultat.
Le voici :
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 // Envoyer la requête au script PHP. ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); nameValuePairs.add(new BasicNameValuePair("ville","L")); // 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()); }
Pourquoi ne pas plutot utiliser des requetes GET plutot que POST?
Ce serait plus simple! Ainsi ton code Java deviendrai :
Pas plus jolie?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 String url = "http://ton_url/ville.php?ville=L"; HttpClient httpclient = new DefaultHttpClient(); HttpResponse response = httpclient.execute(new HttpGet(url)); is = response.getEntity().getContent();
Cependant, il faudra modifier dans ton code PHP tous les $_POST par $_GET.
As tu bien pensé à ajouter dans le manifest de ton application Android la permission INTERNET? Sinon, ton application n'aura pas les droits pour se connecter à Internet.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager