1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. Viktor R, 24.12.2011 #1
    Viktor R

    Viktor R Threadstarter Neuer Benutzer

    Hallo zusammen,

    ich habe schon einige Beispiele zum Titel gefunden, dennoch klappt es bei mir nicht. Nach dem ich die Activity starte, erhalte ich nur eine Textview, jedoch nicht ListView. Ich habe das php file im Browser geöffent, die Daten werden von der DB abgefragt. Ich vermute, dass es an der Übergabe an das JSON Objekt liegen kann, bin mir aber nicht sicher.
    Was ich gemacht habe:

    Android Manifest angepasst (Uses Permission...)
    Activity implementiert (Wäre ListActivity sinnvoller?)
    php script
    DB Treiber "mysql-connector-java-5.1.18-bin.jar" zum Projekt hinzugefügt
    main.xml mit einer Text und einer ListView erstellt

    Anbei poste ich mein Code:


    Code:
    public class DB_AbfrageActivity extends Activity {
        InputStream is;
        ArrayList<String> results=new ArrayList<String>();
        JSONObject json_data;
        ArrayList<NameValuePair> nameValuePairs=new ArrayList<NameValuePair>();
        
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);       
        }
        
        public void getData(){
            String result="";
            
        try{
                HttpClient httpclient=new DefaultHttpClient();
                HttpPost httppost=new HttpPost("http://localhost/mysql.php");
                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                HttpResponse response=httpclient.execute(httppost);
                HttpEntity entity=response.getEntity();
                is=entity.getContent();
            }catch (Exception e){
                Log.e("log_tag", "Fehler bei der http Verbindung "+e.toString());
            }
            
            try{
                BufferedReader reader=new BufferedReader(new InputStreamReader(is,"utf8_general_ci"),8);
                StringBuilder sb=new StringBuilder();
                String line="0";
                while ((line=reader.readLine())!=null){
                    sb.append(line+"\n");
                }
                is.close();
                result=sb.toString();
            }catch (Exception e){
                Log.e("log_tag","Error converting result "+e.toString());
            }
            
            try{
                
                JSONArray jArray=new JSONArray(result);
                for(int i=0;i<jArray.length();i++){
                    json_data=jArray.getJSONObject(i);
                    results.add((String) json_data.get("artikel")+" "+json_data.get("menge")+" "+json_data.get("bez")+" "+json_data.get("zeit"));
                }
                fillList();
            }catch (JSONException e){
                Log.e("log_tag", "Error parsing data "+e.toString());
            }
        }
        
        public void fillList(){
            ListAdapter adapter=new ArrayAdapter(this,android.R.layout.simple_list_item_1, results);
            ListView list=(ListView)findViewById(R.id.listView1);
            list.setAdapter(adapter);
        }
        
    }
    
    gruß

    Viktor
     
  2. Maddi, 24.12.2011 #2
    Maddi

    Maddi Android-Hilfe.de Mitglied

    Versuchs mal so:
    Code:
     String result = EntityUtils.toString(entity, HTTP.UTF_8);
    
        // parse json data
        try {
            JSONArray jArray = new JSONArray(result);                           
            for (int i = 0; i < jArray.length(); i++) {
            JSONObject json_data = jArray.getJSONObject(i);
    ....
    
    oder einfach
    Code:
    ...
    sb.deleteCharAt(0);
    String result = sb.toString();
    result.trim();
            }catch (Exception e){             Log.e("log_tag","Error converting result "+e.toString());         }
    ...
    
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[GESCHLOSSEN] Random ListItem ausgeben funktioniert nicht mehr Android App Entwicklung 13.08.2017
[OFFEN] Bild per Intent an ListView übergeben und anzeigen Android App Entwicklung 13.08.2017
[GELÖST] Android PHP MySQL Android App Entwicklung 05.05.2017
[ERLEDIGT] Listview mit Datenbank über Custom ArrayList verbinden Android App Entwicklung 22.04.2017
[ERLEDIGT] Drawer mit scrollbarem Listview Android App Entwicklung 27.03.2017
ListView fix am unteren Bildschirmrand ausgeben Android App Entwicklung 01.03.2017
Auswahl mehrerer RadioButton in einem TextView ausgeben Android App Entwicklung 23.02.2017
ProgressBar in ListView Android App Entwicklung 03.01.2017
ListView Element an eine Datenbank senden Android App Entwicklung 04.12.2016
MySQL Nutzen für Android App Android App Entwicklung 03.12.2016
Du betrachtest das Thema "MySQl in ListView ausgeben" im Forum "Android App Entwicklung",