U
u20i
Neues Mitglied
- 0
Hallo zusammen,
ich bin recht neu in der Andorid- und Java-Welt (komme von PHP) und würde gerne eine recht einfache App erstellen, die ein XML eines Rechners im lokalen Netzwerk regelmäßig auslesen und darauf basierend GUI-Elemente anpassen (Farbe ändern usw.) soll.
Nach einiger Recherche habe ich dieses Tutorial ( http://www.worldling.de/einfaches-xml-parsen-in-android-mit-simplexml-xml-parsing/) eingesetzt und mich in Eclipse, dem Emulator, Bibliotheken-Import usw. vorher soweit durchgearbeitet, dass die App auch ohne Fehler im LogCat läuft.
Leider habe ich dabei trotzdem eine Exception die in der Funktion parseXml() geworfen wird und komme nicht weiter, woran es liegt. Kann jemand helfen??
Versuch das Problem einzurgenzen: Breakpoints in der Data.java und in der o.g. Funktion unterhalb der Zeile
String xmlData = retrieve(url);
in er Main.java wurden nie erreicht. Ich wäre auch für Tipps dankbar, wie man solche Probleme noch besser eingrenzen kann.
Main.java
Data.java
***
Danke im Voraus!
ich bin recht neu in der Andorid- und Java-Welt (komme von PHP) und würde gerne eine recht einfache App erstellen, die ein XML eines Rechners im lokalen Netzwerk regelmäßig auslesen und darauf basierend GUI-Elemente anpassen (Farbe ändern usw.) soll.
Nach einiger Recherche habe ich dieses Tutorial ( http://www.worldling.de/einfaches-xml-parsen-in-android-mit-simplexml-xml-parsing/) eingesetzt und mich in Eclipse, dem Emulator, Bibliotheken-Import usw. vorher soweit durchgearbeitet, dass die App auch ohne Fehler im LogCat läuft.
Leider habe ich dabei trotzdem eine Exception die in der Funktion parseXml() geworfen wird und komme nicht weiter, woran es liegt. Kann jemand helfen??
Versuch das Problem einzurgenzen: Breakpoints in der Data.java und in der o.g. Funktion unterhalb der Zeile
String xmlData = retrieve(url);
in er Main.java wurden nie erreicht. Ich wäre auch für Tipps dankbar, wie man solche Probleme noch besser eingrenzen kann.
Main.java
Code:
[SNIP diverse import-zeilen]
public class Main extends Activity {
private static final String url = "http://www.worldling.de/data.xml";
TextView name;
private DefaultHttpClient client = new DefaultHttpClient();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
name = (TextView) findViewById(R.id.tvForParsing);
parseXml();
}
private void parseXml() {
try {
String xmlData = retrieve(url);
Toast.makeText(this, xmlData, Toast.LENGTH_LONG).show();
Serializer serializer = new Persister();
Reader reader = new StringReader(xmlData);
Data user = serializer.read(Data.class, reader);
String tempName = user.getName();
name.setText(tempName);
} catch (Exception e) {
Toast.makeText(this, "Error Occured", Toast.LENGTH_LONG).show();
}
}
public String retrieve(String url) {
HttpGet getRequest = new HttpGet(url);
try {
HttpResponse getResponse = client.execute(getRequest);
final int statusCode = getResponse.getStatusLine().getStatusCode();
if (statusCode != HttpStatus.SC_OK) {
return null;
}
HttpEntity getResponseEntity = getResponse.getEntity();
if (getResponseEntity != null) {
return EntityUtils.toString(getResponseEntity);
}
} catch (IOException e) {
getRequest.abort();
Log.w(getClass().getSimpleName(), "Error for URL " + url, e);
}
return null;
}
}
Code:
[SNIP diverse import-zeilen]
@Root
public class Data {
public Data(){
super();
}
public Data(String name){
this.name = name;
}
@Element
private String name;
public String getName() {
return name;
}
}
Danke im Voraus!