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 [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---