Bonjour,
Je viens vers vous car j'ai un problème que je n'arrive pas a régler après plusieurs tentatives. Je m'explique, j'ai une base de donnée externe MySQL et j'aimerai afficher les infos d'une table dans mon appli.
Côté serveur ça donne ça:
Ca fonctionne correctement.
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 <?php /* ** Script de visualisation des données en fonction d'une certaine reqûete ! */ // Connexion à la base ! mysql_connect("xxx", "xxxx", "xxxxx"); mysql_select_db("xxx"); // Modifier cette ligne si besoin ! $q = mysql_query("SELECT * FROM toto"); // Parcours des résultats. while ($e = mysql_fetch_assoc($q)) { $output[] = $e; // Insertion des résultats dans un tableau. } print(json_encode($output)); // encodage du tableau avec JSON mysql_close(); // on ferme la connexion ! ?>
Côté android j'ai :
J'ai l'impression que ce code fonctionne avec ce que j'ai pu voir sur Internet mais rien n'y fait ! Ca ne veut pas s'afficher sur mon appli.
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 String url = "htttp://xxxx.fr/toto.php"; JsonArrayRequest jsObjRequest = new JsonArrayRequest (Request.Method.GET, url, null, new Response.Listener<JSONArray>() { @Override public void onResponse(JSONArray response) { JSONObject jObject = null; for (int i = 0; i < response.length() ; i++) { try { jObject = (JSONObject) response.get(i); String name = jObject.getString("NomLieu"); lieux.add(name); } catch (JSONException e) { e.printStackTrace(); } } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.d("Error", error.toString()); } });
'lieux' etant une simple ArrayList<String>.
L'affichage est correct car si je fais lieux.add("toto"); manuellement, ça s'affiche bien. Ce qui prouve bien que le problème vient du JSONarrayRequest ...
J'utilise la libraire Volley.
Merci bien.
Partager