Android: Affichage des données de mysql dans un Liste
dimass
-
BunoCS Messages postés 15952 Date d'inscription Statut Modérateur Dernière intervention -
BunoCS Messages postés 15952 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour tout le monde
je veux récuperer les donnes de mysql et l'afficher dans un listView
j’essaye de récupérer le données avec un code que je trouve dans un tutorial sur internet mais j'ai rien recu rien dans l'emelateur
et d’après le logcat : j’espère que j'ai deux problèmes 1- HttpResponse reponse = client.execute(requete);
2- JSONArray jArray = new JSONArray(stringB.toString());
lorsque je fait le test de code php sur le navigateur sous http://192.168.56.1/affichage/afficheC11.php il affiche correctement
Est ce que quelqu'un peut m'aider svp
Et merci d'avance
AfficheC11.php :
je veux récuperer les donnes de mysql et l'afficher dans un listView
j’essaye de récupérer le données avec un code que je trouve dans un tutorial sur internet mais j'ai rien recu rien dans l'emelateur
et d’après le logcat : j’espère que j'ai deux problèmes 1- HttpResponse reponse = client.execute(requete);
2- JSONArray jArray = new JSONArray(stringB.toString());
lorsque je fait le test de code php sur le navigateur sous http://192.168.56.1/affichage/afficheC11.php il affiche correctement
Est ce que quelqu'un peut m'aider svp
Et merci d'avance
package com.example.lenovo.mysecondetest; import android.os.Bundle; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.View; import android.widget.ListView; import android.widget.TextView; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.json.JSONArray; import org.json.JSONException; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.URI; import java.net.URISyntaxException; import java.util.ArrayList; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.HttpClient; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import android.app.ListActivity; import android.net.ParseException; import android.os.Bundle; import android.util.Log; import android.widget.ArrayAdapter; import android.widget.Toast; public class CdesNonTraiteActivity extends AppCompatActivity { CdesNonTraite cdesNonTraite; ArrayList<CdesNonTraite> cdesNonTraites; private ArrayAdapter<String> listAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_cdes_non_traite); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); StringBuffer stringB = new StringBuffer(""); BufferedReader bufR = null; try { HttpClient client = new DefaultHttpClient(); HttpGet requete = new HttpGet(); URI uri = new URI("http://192.168.56.1/Affichage/afficheC11.php"); requete.setURI(uri); HttpResponse reponse = client.execute(requete); InputStream is = reponse.getEntity().getContent(); bufR = new BufferedReader(new InputStreamReader(is)); String ligneLue = bufR.readLine(); while (ligneLue != null) { stringB.append(ligneLue); stringB.append("\n"); ligneLue = bufR.readLine(); } } catch (Exception e) { e.printStackTrace(); } finally { if (bufR != null) { try { bufR.close(); } catch (IOException ioe) { ioe.printStackTrace(); } } } try { JSONArray jArray = new JSONArray(stringB.toString()); for (int i = 0; i < jArray.length(); i++) { cdesNonTraite = new CdesNonTraite(); cdesNonTraite.setNumOf(jArray.getJSONObject(i).getString("T1").toString()); cdesNonTraite.setDate(jArray.getJSONObject(i).getString("T2").toString()); cdesNonTraite.setClient(jArray.getJSONObject(i).getString("T3").toString()); cdesNonTraite.setModele(jArray.getJSONObject(i).getString("T4").toString()); cdesNonTraite.setQte(jArray.getJSONObject(i).getString("T5").toString()); cdesNonTraite.setLance(jArray.getJSONObject(i).getString("T6").toString()); cdesNonTraite.setDateLance(jArray.getJSONObject(i).getString("T7").toString()); cdesNonTraite.setCoupe(jArray.getJSONObject(i).getString("T8").toString()); cdesNonTraite.setDateCoupe(jArray.getJSONObject(i).getString("T9").toString()); this.cdesNonTraites.add(cdesNonTraite); } } catch (JSONException jex) { jex.printStackTrace(); } if (cdesNonTraites != null) { CdesNonTraiteAdapter adapter = new CdesNonTraiteAdapter(this, cdesNonTraites); ListView cdVueTraite = (ListView) findViewById(R.id.list_Tab); cdVueTraite.setAdapter(adapter); } } }
AfficheC11.php :
<?php $base = mysql_connect ('localhost', 'root', ''); mysql_select_db ('database', $base) ; $sql = "SELECT * FROM `titrecol` WHERE `id`=1"; $req = mysql_query($sql) ; while ($row=mysql_fetch_assoc($req)) { $output[]=$row; } print(json_encode($output)); ?>
A voir également:
- Android: Affichage des données de mysql dans un Liste
- Android recovery - Guide
- Begone android - Accueil - Protection
- À quoi sert google drive sur android - Guide
- Historique presse-papier android - Guide
- Emulateur pokemon android - Guide
3 réponses
oui, lorsque je fais le test de code php sur le navigateur avec http://192.168.56.1/affichage/afficheC11.php il affiche sous forme json, le problème est comment je peux afficher les données de mysql dans un tableLayout en android ?
oui, lorsque je fais le test de code php sur le navigateurCe n'est pas ce que je t'ai demandé... Est-ce que, à la ligne 101 du code ci-dessous, tu récupères bien ton array JSON. Car j'imagine que tu as testé en mode debug pas-à-pas pour voir ce qu'il se passe...
comment je peux afficher les données de mysql dans un tableLayout en androidy'a plusieurs étapes là:
- côté PHP: transformer le résultat de la requête mySQL en JSON
- côté Android:
- récupérer le JSON
- parser le JSON et créer les objets
- créer un adapter pour remplir la liste avec les objets
- créer une vue XML pour le côté joli