L
Lainio
Ambitioniertes Mitglied
- 3
Hallo liebe Leute,
ich bin dabei eine XML-Datei aus dem Internet zu laden und zu parsen.
Letztens habe ich gemerkt das ich kein Internet habe und probeweise die App gestartet und gemerkt, das die App abstürzt :/
Logcat sagt:
doInBackground:
Ist das so richtig? ist das nicht der Catch Befehl um die App nicht abstürzen zu lassen?
oder ist das ein falscher Ansatz?
Die App soll bei fehlendem Internet einfach nichts herunterladen und wenigstens das Interface laden.
ich bin dabei eine XML-Datei aus dem Internet zu laden und zu parsen.
Letztens habe ich gemerkt das ich kein Internet habe und probeweise die App gestartet und gemerkt, das die App abstürzt :/
Logcat sagt:
PHP:
Caused by: java.lang.NullPointerException: println needs a message
at android.util.Log.println_native(Native Method)
at android.util.Log.e(Log.java:232)
at de.lenox.lenox.app.ListViewActivity$DownloadXMLFiles.doInBackground(ListViewActivity.java:185)
at de.lenox.lenox.app.ListViewActivity$DownloadXMLFiles.doInBackground(ListViewActivity.java:153)
at android.os.AsyncTask$2.call(AsyncTask.java:288)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
************at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
************at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
************at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
************at java.lang.Thread.run(Thread.java:841)
doInBackground:
PHP:
protected ArrayList<HashMap<String, String>> doInBackground(URL... urls) {
try {
XMLParser parser = new XMLParser();
String xml = parser.getXMLFromUrl("http://testseite.de/test.xml");
Document doc = parser.getDomElement(xml);
NodeList nl = doc.getElementsByTagName(KEY_SYSTEM);
for (int i = 0; i < nl.getLength(); i++) {
// Neue HashMap erstellen
HashMap<String, String> map = new HashMap<String, String>();
Element e = (Element) nl.item(i);
// Jedes Kind-Knoten zur HashMap
map.put(KEY_UUID, parser.getValue(e,KEY_UUID));
map.put(KEY_NAME, parser.getValue(e,KEY_NAME));
map.put(KEY_JOBTITLE, parser.getValue(e,KEY_JOBTITLE));
map.put(KEY_JOBINFO, parser.getValue(e,KEY_JOBINFO));
map.put(KEY_IMAGE, parser.getValue(e,KEY_IMAGE));
//Hashmap zur ArrayList hinzufügen
menuItems.add(map);
}
} catch (NullPointerException e) {
return null;
}
return menuItems;
}
Ist das so richtig? ist das nicht der Catch Befehl um die App nicht abstürzen zu lassen?
oder ist das ein falscher Ansatz?
Die App soll bei fehlendem Internet einfach nichts herunterladen und wenigstens das Interface laden.