Bonjour,
C'est dans le cadre de mon projet de fin d'etude.
S'il vous plait ,j'ai besoin d'aide depuis plus de deux semaines je n'arrive pas à récupérer mes données dans une ListView.
la connexion avec la base de données marche,les données s'affiche dans le LogCat.
merci pour votre aide
voici le code java
Connexion à la base de données:
Classe qui affiche les données
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
72
73
74
75
76 package com.oranfood; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; 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.os.AsyncTask; import android.widget.ListView; public class ConnexionBDD extends AsyncTask <Object, Object, Object>{ @Override protected Object doInBackground(Object... params) { Restaurant restaurant; //ArrayList<Restaurant >listeRestaurants; ArrayList<Restaurant> listeRestaurants =new ArrayList<Restaurant>(); StringBuffer stringB=new StringBuffer(""); BufferedReader bufr=null; try{ HttpClient client=new DefaultHttpClient(); HttpPost requete = new HttpPost("http://192.168.56.1/requeteAndroid/requete.php"); HttpResponse reponse=client.execute(requete); System.out.println("CONNEXION REUSSIE !!"); InputStream is= reponse.getEntity().getContent(); bufr=new BufferedReader(new InputStreamReader(is)); //lire le contenu des données recuperent String ligneLue=bufr.readLine(); while (ligneLue!= null){ stringB.append(ligneLue); stringB.append("\n"); ligneLue=bufr.readLine(); } }catch(Exception e){ // e.printStackTrace(); System.err.println("PAS DE CONNEXION : " + e); } try{ JSONArray jArray=new JSONArray(stringB.toString()); for(int i=0; i<jArray.length();i++){ restaurant=new Restaurant(); restaurant.setNom(jArray.getJSONObject(i).getString("Nom").toString()); restaurant.setSpecialité(jArray.getJSONObject(i).getString("Specialité").toString()); //on met les données dans la liste listeRestaurants.add(restaurant); } }catch(JSONException jex){ jex.printStackTrace(); } return listeRestaurants; }}
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 package com.oranfood; import java.util.ArrayList; import java.util.concurrent.ExecutionException; import android.app.Activity; import android.os.Bundle; import android.widget.ListView; public class ListeRestaurant extends Activity{ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.liste_restaurant); ConnexionBDD connexion=new ConnexionBDD(); connexion.execute(); ArrayList<Restaurant> listeRestautants = null; try { // StringBuffer sb = (StringBuffer) connecteur.get(); listeRestautants= (ArrayList<Restaurant>) connexion.get(); System.out.println("LISTE RESTAURANTS : " + listeRestautants); } catch (InterruptedException e) { // e.printStackTrace(); System.err.println(e); } catch (ExecutionException e) { // e.printStackTrace(); System.err.println(e); } if(listeRestautants != null){ AdapteurRestaurant adapter = new AdapteurRestaurant(this,listeRestautants ); ListView listeViewResto=(ListView) findViewById(R.id.ListView01); listeViewResto.setAdapter(adapter); } } }
Partager