MySQL kein Inhalt


dsNDesign

Erfahrenes Mitglied
Hei,
ich bin gerade dabei, Daten von einer MySQL Tabelle in eine ListView zu bekommen. Dies funktioniert jedoch noch nicht so ganz.

Ich verwende ein PHP Skript, welches mir die Daten im JSON Format liefert. Diese möchte ich dann verarbeiten und in die ListView packen.

Mein Skipt:
Code:
<?php
mysql_connect("****","****","****");
mysql_select_db("****");
$sql=mysql_query("SELECT name FROM items ORDER BY name");
while($row=mysql_fetch_assoc($sql))
$output[]=$row;
print(json_encode($output));
mysql_close();
?>
Und meine Java Klasse:
Java:
public static class ItemsFragment extends Fragment {
        InputStream is;
        ArrayList<String> results = new ArrayList<String>();
        JSONObject json_data;

        public ItemsFragment() {
        }

        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                 Bundle savedInstanceState) {

            ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
            String result = "";

            try{
                HttpClient httpclient = new DefaultHttpClient();
                HttpPost httppost = new HttpPost("http://www.patrickhieber.de/hon/connect.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,"iso-8859-1"),8);
                StringBuilder sb = new StringBuilder();
                String line;
                while ((line = reader.readLine()) != null) {
                    sb.append(line).append("\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(json_data.getString("name"));
                }
            }
            catch(JSONException e){
                Log.e("log_tag", "Error parsing data "+e.toString());
            }

            View rootView = inflater.inflate(R.layout.items, container, false);

            assert rootView != null;
            ListView list = (ListView) rootView.findViewById(R.id.list);

            ArrayAdapter<String> files = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, results);

            list.setAdapter(files);

            return rootView;
        }
    }
Wenn ich die App nun starte, bleibt meine ListView leer.
Im Mainfest hab ich noch folgende Zeile:
Code:
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
Jemand ne Idee, woran dies liegen könnte?

Gruß
 
Zuletzt bearbeitet:

Fasibio

Mitglied
Kommen denn die Daten im Json richtig an und stehen sie auf in "results" so drin wie du es erwartest ?

Wenn ich den Link aufruf bekomme ich ne menge Warings etc und vorallem keine JSON daten