Jördis M.
- Forum-Beiträge: 2
18.04.2012, 14:41:15 via Website
18.04.2012 14:41:15 via Website
Hallo liebe Mitentwickler,
ich habe folgendes Problem, ich lasse mir nach Auswahl einer Stadt eine Liste von aus einer SQL Datenbank lesen und übertrage diese im JSON-Format in meine App. Nun möchte ich die einzelnen Geschäfte wieder in einer Auswahlliste stehen haben um erneut eine Abfrage an den Webserve zu schicken. Aber ich bekomme leider alle Geschäfte im ersten Auswahlpunkt angezeigt und nicht jeden einzelnd.
Codeschnipsel:
Das holen der JSON Daten
Der Versuch des Einfügens in die Auswahlliste:
ich habe folgendes Problem, ich lasse mir nach Auswahl einer Stadt eine Liste von aus einer SQL Datenbank lesen und übertrage diese im JSON-Format in meine App. Nun möchte ich die einzelnen Geschäfte wieder in einer Auswahlliste stehen haben um erneut eine Abfrage an den Webserve zu schicken. Aber ich bekomme leider alle Geschäfte im ersten Auswahlpunkt angezeigt und nicht jeden einzelnd.
Codeschnipsel:
Das holen der JSON Daten
1try{
2 HttpClient client = new DefaultHttpClient();
3 HttpPost post = new HttpPost("webserver");
4
5 List<NameValuePair> pairs = new ArrayList<NameValuePair>();
6 pairs.add(new BasicNameValuePair("mid", mid));
7 post.setEntity(new UrlEncodedFormEntity(pairs));
8
9 HttpResponse response = client.execute(post);
10
11 HttpEntity entity = response.getEntity();
12
13 InputStream is = entity.getContent();
14 BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
15 StringBuilder sb = new StringBuilder();
16 String line = null;
17 while ((line = reader.readLine()) != null) {
18 sb.append(line + "\n");
19 }
20 is.close();
21
22 result=sb.toString();
23
24 // Toast.makeText(this, result, Toast.LENGTH_LONG).show();
25
26
27 JSONArray jsonArray = new JSONArray(result);
28 for (int i = 0; i < jsonArray.length(); i++) {
29 JSONObject nextBall = (JSONObject)
30 jsonArray.getJSONObject(i);
31 Log.e("LOG_TAG", nextBall.getString("id") +
32 " - " + nextBall.getString("bezeichnung")+
33 " - "+ nextBall.getString("id_adressen"));
34 }
2 HttpClient client = new DefaultHttpClient();
3 HttpPost post = new HttpPost("webserver");
4
5 List<NameValuePair> pairs = new ArrayList<NameValuePair>();
6 pairs.add(new BasicNameValuePair("mid", mid));
7 post.setEntity(new UrlEncodedFormEntity(pairs));
8
9 HttpResponse response = client.execute(post);
10
11 HttpEntity entity = response.getEntity();
12
13 InputStream is = entity.getContent();
14 BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
15 StringBuilder sb = new StringBuilder();
16 String line = null;
17 while ((line = reader.readLine()) != null) {
18 sb.append(line + "\n");
19 }
20 is.close();
21
22 result=sb.toString();
23
24 // Toast.makeText(this, result, Toast.LENGTH_LONG).show();
25
26
27 JSONArray jsonArray = new JSONArray(result);
28 for (int i = 0; i < jsonArray.length(); i++) {
29 JSONObject nextBall = (JSONObject)
30 jsonArray.getJSONObject(i);
31 Log.e("LOG_TAG", nextBall.getString("id") +
32 " - " + nextBall.getString("bezeichnung")+
33 " - "+ nextBall.getString("id_adressen"));
34 }
Der Versuch des Einfügens in die Auswahlliste:
1case R.id.auswahlres:
2 Log.d(TAG, "onClick: Restaurant auswählen");
3
4
5 String littlehelper = "";
6 try{
7 //Verarbeiten der JSON Daten um die Auswahlbox zu füllen
8 JSONArray jsonArray = new JSONArray(result);
9
10 for (int i = 0; i < jsonArray.length(); i++) {
11 JSONObject restaurant = (JSONObject)
12 jsonArray.getJSONObject(i);
13 Log.e("LOG_TAG", restaurant.getString("id") +
14 " - " + restaurant.getString("bezeichnung")+
15 " - "+ restaurant.getString("id_adressen"));
16
17 String bighelper = restaurant.getString("bezeichnung");
18 littlehelper = littlehelper+" "+"'"+bighelper+"'"+",";
19 }
20
21 littlehelper = littlehelper.replaceAll("\'", "\"");
22 }
23 catch(Exception e)
24 {Log.e("LOG_TAG:", "Das Schreiben der Restaurants ist fehlgeschlagen");}
25 //Festlegen der Items in der Auswahlliste
26 final CharSequence[] items2 = {littlehelper.toString()};
27 //Dialogbox vorbereiten
28 AlertDialog.Builder builder2 = new AlertDialog.Builder(this);
29 builder2.setTitle("Wählen sie ein Restaurant in "+stadt+" aus.");
30 builder2.setItems(items2, new DialogInterface.OnClickListener() {
31 public void onClick(DialogInterface dialog, int item) {
32 // if(items2[item]=="zurück")
33 // {}
34 // else{
35 anzeigeres.setText(items2[item]);
36 //gerichte();
37 // }
38 }
39 });
40 AlertDialog alert2 = builder2.create();
41
42 alert2.show();
2 Log.d(TAG, "onClick: Restaurant auswählen");
3
4
5 String littlehelper = "";
6 try{
7 //Verarbeiten der JSON Daten um die Auswahlbox zu füllen
8 JSONArray jsonArray = new JSONArray(result);
9
10 for (int i = 0; i < jsonArray.length(); i++) {
11 JSONObject restaurant = (JSONObject)
12 jsonArray.getJSONObject(i);
13 Log.e("LOG_TAG", restaurant.getString("id") +
14 " - " + restaurant.getString("bezeichnung")+
15 " - "+ restaurant.getString("id_adressen"));
16
17 String bighelper = restaurant.getString("bezeichnung");
18 littlehelper = littlehelper+" "+"'"+bighelper+"'"+",";
19 }
20
21 littlehelper = littlehelper.replaceAll("\'", "\"");
22 }
23 catch(Exception e)
24 {Log.e("LOG_TAG:", "Das Schreiben der Restaurants ist fehlgeschlagen");}
25 //Festlegen der Items in der Auswahlliste
26 final CharSequence[] items2 = {littlehelper.toString()};
27 //Dialogbox vorbereiten
28 AlertDialog.Builder builder2 = new AlertDialog.Builder(this);
29 builder2.setTitle("Wählen sie ein Restaurant in "+stadt+" aus.");
30 builder2.setItems(items2, new DialogInterface.OnClickListener() {
31 public void onClick(DialogInterface dialog, int item) {
32 // if(items2[item]=="zurück")
33 // {}
34 // else{
35 anzeigeres.setText(items2[item]);
36 //gerichte();
37 // }
38 }
39 });
40 AlertDialog alert2 = builder2.create();
41
42 alert2.show();
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.