Hello, i have a thread, where i want to parse an gpx (xml) file. But it does not work. My Thread and XmlPullParser looks like:
getWpt = new Thread (new Runnable () { @Override public void run() { XmlPullParserFactory pullFactory; try { pullFactory = XmlPullParserFactory.newInstance(); XmlPullParser pullParser = pullFactory.newPullParser(); FileReader file = new FileReader(new File (Environment.getExternalStorageDirectory()+"/"+fileList[pos])); pullParser.setInput(file); Log.e("IMINININ","MEMEME"); // state flags boolean inWayPoint = false; boolean inDesc = false; boolean inTrack = false; boolean inTrackPoint = false; int eventType = pullParser.getEventType(); //TEST: Log.e("EVENTTYPE",""+eventType +XmlPullParser.END_DOCUMENT); if(eventType == XmlPullParser.END_DOCUMENT) { getWaypointHandler.sendEmptyMessage(3); } //NORMAL PARSER: while (eventType != XmlPullParser.END_DOCUMENT) { Log.e("START","TAG"+pullParser.getName()); switch (eventType) { case XmlPullParser.START_DOCUMENT: break; case XmlPullParser.START_TAG: Log.e("START","TAG"+pullParser.getName()); if (pullParser.getName().compareTo("wpt") == 0) { Log.e("WAY","POINT"); inWayPoint = true; } else if (pullParser.getName().compareTo("desc") ==0) { if (inWayPoint) inDesc = true; } else if (pullParser.getName().compareTo("trk") ==0) { inTrack = true; //alle Wegpunkte eingelesen Log.e("WAY","POINTEND"); getWaypointHandler.sendEmptyMessage(0); } else if(pullParser.getName().compareTo("trkpt") ==0) { count ++; inTrackPoint = true; if(count%50 == 0) getWaypointHandler.sendEmptyMessage(1); } break; case XmlPullParser.END_TAG: if (pullParser.getName().equals("wpt")) { inWayPoint = false; }else if (pullParser.getName().equals("desc")) { inDesc = false; } else if(pullParser.getName().equals("trk")) { inTrack = false; getWaypointHandler.sendEmptyMessage(2); }else if (pullParser.getName().equals("trkpt")) { inTrackPoint = false; } break; case XmlPullParser.TEXT: if (inWayPoint) if (inDesc) { .... } } if(inTrack) { } break; } eventType = pullParser.nextTag(); //.next(); Log.e("END-EVENT",""+eventType +XmlPullParser.END_DOCUMENT); } catch (Exception e) { } } }); getWpt.start(); But it never find my tags (the handler getWaypointHandler is never called). The XmlPullParser find the xml file, because my logcat shows: I/ActivityManager( 579): Starting activity: Intent { cmp=de.stefandahmen.android/.NavTrack (has extras) } E/ActivityThread( 692): Failed to find provider info for com.google.settings E/ActivityThread( 692): Failed to find provider info for com.google.settings E/ActivityThread( 692): Failed to find provider info for com.google.settings //GOES IN TRY BLOCK: E/IMINININ( 692): MEMEME //NOT THE END_TAG: E/EVENTTYPE( 692): 01 I/ActivityManager( 579): Start proc android.tts for service android.tts/.TtsService: pid=765 uid=10023 gids={3003, 1015} I/jdwp ( 765): received file descriptor 10 from ADB D/dalvikvm( 553): GC freed 282 objects / 10712 bytes in 419ms I/MapActivity( 692): Handling network change notification:CONNECTED E/MapActivity( 692): Couldn't get connection factory client I/ARMAssembler( 579): generated scanline__00000077:03515104_00000000_00000000 [ 27 ipp] (41 ins) at [0x29dca8:0x29dd4c] in 922000 ns D/dalvikvm( 553): GC freed 50 objects / 2184 bytes in 960ms I/ARMAssembler( 579): generated scanline__00000077:03515104_00000001_00000000 [ 46 ipp] (65 ins) at [0x29dd50:0x29de54] in 1508000 ns I/ActivityManager( 579): Displayed activity de.stefandahmen.android/.NavTrack: 2574 ms (total 2574 ms) I/TtsService( 765): TtsService.onCreate() D/dalvikvm( 553): GC freed 2 objects / 48 bytes in 482ms D/dalvikvm( 765): Trying to load lib /system/lib/libttssynthproxy.so 0x437600b0 D/dalvikvm( 765): Added shared lib /system/lib/libttssynthproxy.so 0x437600b0 E/TTS is loading( 765): /system/lib/libttspico.so V/SynthProxy( 765): AudioTrack started V/TtsService( 765): TtsService.setLanguage(eng, , ) I/SVOX Pico Engine( 765): TtsEngine::setLanguage found matching language(eng) but not matching country(). I/SVOX Pico Engine( 765): loaded en-US successfully I/SynthProxy( 765): setting speech rate to 100 I/TTS received: ( 692): Umlaute wie u.a. ä, ö und ü o.ä. sind einigermaßen einfach. Doch z.B. andere Abk.en sind schwieriger? Nein!!! Aber 1. dies und 2. das geht auch V/TtsService( 765): TTS service received Umlaute wie u.a. ä, ö und ü o.ä. sind einigermaßen einfach. Doch z.B. andere Abk.en sind schwieriger? Nein!!! Aber 1. dies und 2. das geht auch I/TtsService( 765): Stopping I/TtsService( 765): Stopped I/TtsService( 765): TTS processing: Umlaute wie u.a. ä, ö und ü o.ä. sind einigermaßen einfach. Doch z.B. andere Abk.en sind schwieriger? Nein!!! Aber 1. dies und 2. das geht auch V/TtsService( 765): TtsService.setLanguage(deu, , ) I/SVOX Pico Engine( 765): TtsEngine::setLanguage found matching language(deu) but not matching country(). I/SVOX Pico Engine( 765): loaded de-DE successfully I/SynthProxy( 765): setting speech rate to 100 W/AudioTrack( 765): obtainBuffer timed out (is the CPU pegged?) 0x1a89a8 user=00001000, server=00000000 W/AudioFlinger( 554): write blocked for 49 msecs W/AudioFlinger( 554): write blocked for 50 msecs W/AudioFlinger( 554): write blocked for 49 msecs W/AudioFlinger( 554): write blocked for 46 msecs W/AudioFlinger( 554): write blocked for 52 msecs W/AudioFlinger( 554): write blocked for 50 msecs W/AudioFlinger( 554): write blocked for 55 msecs W/AudioFlinger( 554): write blocked for 63 msecs W/AudioFlinger( 554): write blocked for 48 msecs W/AudioFlinger( 554): write blocked for 49 msecs W/AudioFlinger( 554): write blocked for 47 msecs W/AudioFlinger( 554): write blocked for 74 msecs W/AudioFlinger( 554): write blocked for 56 msecs W/AudioFlinger( 554): write blocked for 49 msecs W/AudioFlinger( 554): write blocked for 49 msecs W/AudioTrack( 765): obtainBuffer timed out (is the CPU pegged?) 0x1a89a8 user=00017800, server=00016800 W/AudioFlinger( 554): write blocked for 47 msecs W/AudioFlinger( 554): write blocked for 48 msecs W/AudioFlinger( 554): write blocked for 48 msecs W/AudioFlinger( 554): write blocked for 50 msecs W/AudioFlinger( 554): write blocked for 52 msecs W/AudioFlinger( 554): write blocked for 52 msecs W/AudioFlinger( 554): write blocked for 50 msecs W/AudioFlinger( 554): write blocked for 55 msecs Thanks for help, Stefan --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---