Tout est dans le titre je crois,
voici mon code, mais cela provoque une fermeture forcée :
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 public class BDDAlarm extends Activity implements AlarmeAdapterListener{ /** Called when the activity is first created. */ TextView txt; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); LinearLayout rootLayout = new LinearLayout(getApplicationContext()); txt = new TextView(getApplicationContext()); rootLayout.addView(txt); setContentView(rootLayout); txt.setText(getServerData(strURL)); ArrayList<BDDAlarm> listA = new ArrayList<BDDAlarm>(); AlarmeAdapter adapter = new AlarmeAdapter(this, listA); adapter.addListener(this); ListView list = (ListView)findViewById(R.id.listalarm); list.setAdapter(adapter); } public static final String strURL = "http://10.0.2.2:8080/mesRequestes/Alarm.php"; private String getServerData(String returnString) { InputStream is = null; String result = ""; ArrayList<NameValuePair> listAlr = new ArrayList<NameValuePair>(); listAlr.add(new BasicNameValuePair("alarm","")); try{ HttpClient httpclient = new DefaultHttpClient(); // HttpResponse response = httpclient.execute(new HttpGet(strURL)); HttpPost httppost = new HttpPost(strURL); httppost.setEntity(new UrlEncodedFormEntity(listAlr)); HttpResponse response = httpclient.execute(httppost); is = response.getEntity().getContent(); }catch(Exception e){ Log.e("log_tag", "Error in http connection " + e.toString()); } // Convertion de la requête en string try{ // BufferedReader reader = new BufferedReader(new InputStreamReader(is)); BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8); StringBuilder sb = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) { sb.append(line + "\n"); } is.close(); result=sb.toString(); Log.i("result", result); }catch(Exception e){ Log.e("log_tag", "Error converting result " + e.toString()); } // Parse les données JSON try{ JSONArray jArray = new JSONArray(result); for(int i=0;i<jArray.length();i++){ JSONObject json_data = jArray.getJSONObject(i); // Affichage ID_ville et Nom_ville dans le LogCat Log.i("log_tag","ID_ALARM: "+json_data.getInt("ID_ALARM")+ ", ID_OBJECT: "+json_data.getInt("ID_OBJECT")); // Résultats de la requête returnString += "\n\t" + jArray.getJSONObject(i); } }catch(JSONException e){ Log.e("log_tag", "Error parsing data " + e.toString()); } return returnString; } }Avant de rajouter le classe AlarmeAdapter, j'arrivais à afficher mes données dans l'émulateur. Mais le but c'est qu'elles soient dans des listview.
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 public class AlarmeAdapter extends BaseAdapter{ private List<BDDAlarm> mListA; public Context mContext; private LayoutInflater mInflater; public AlarmeAdapter(BDDAlarm bddAlarm, ArrayList<BDDAlarm> listA) { mContext = bddAlarm; mListA = listA; } public void addListener(BDDAlarm bddAlarm) { // TODO Auto-generated method stub } @Override public int getCount() { return mListA.size(); } @Override public Object getItem(int position) { return mListA.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { LinearLayout layoutItem; if (convertView == null) { layoutItem = (LinearLayout) mInflater.inflate(R.layout.listitem, parent, false); } else { layoutItem = (LinearLayout) convertView; } TextView alarm = (TextView)layoutItem.findViewById(R.id.text); layoutItem.setTag(position); return layoutItem; } private ArrayList<AlarmeAdapterListener> myListListener = new ArrayList<AlarmeAdapterListener>(); public void addListener(AlarmeAdapterListener aListener) { myListListener.add(aListener); } public interface AlarmeAdapterListener { //TODO } }
Quelqu'un pour m'aider?
Partager