Base de donnée MySQL - Android Studio
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:
Code:
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 !
?> |
Ca fonctionne correctement.
Côté android j'ai :
Code:
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());
}
}); |
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.
'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.