• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

Arbeitsweise mit CW

Kalli

Geowizard
Reini schrieb:
@Kalli: Ich würde ein Tab = hex(09) als Trenner nehmen. Dann gibt es keine Probleme mit Cachenamen die ein ; oder , beinhalten.
Bei CSV habe ich irgendwie Bauchschmerzen, vielleicht lassen die sich ja noch zerstreuen. Beim Tab sehe ich das Problem, dass Tabs durch Leerzeichen ersetzt werden könnten, wenn die Datei mal in den falschen Editor gerät.

Ich habe gerade noch mal in den Code (MyXMLBuilder.java) geschaut. Es wird heute bei jedem Cacheeintrag (Zeile) über die Anzahl der Attribute geloopt und geschaut, ob das Attribut den richtigen Namen hat. Macht bei 23 Attributen 529 Vergleiche pro Cache:
Code:
for (int i = 0; i < atts.getLength(); i++) {
		  if(atts.getName(i).equals("name")) holder.CacheName = atts.getValue(i);
		  if(atts.getName(i).equals("owner")) holder.CacheOwner = atts.getValue(i);
		  if(atts.getName(i).equals("latlon")) holder.LatLon = atts.getValue(i);
		  if(atts.getName(i).equals("hidden")) holder.DateHidden = atts.getValue(i);
.
.
.
}

Wenn man den Code ändert, so dass man mit Indexen arbeitet, sollte das schon was bringen:
Code:
holder.CacheName = atts.getValue(0);
holder.CacheOwner = atts.getValue(1);
holder.LatLon = atts.getValue(2);
holder.DateHidden = atts.getValue(3);
.
.
.
Man muss sich jetzt nur noch überlegen, wie man es hinbekommt, dass Erweiterungen mit allen Versionen kompatibel sind. Also das eine ältere Version auch mit einer neuen index.xml zurechtkommt (sollte kein Problem sein, wenn man neue Felder hinten anfügt) und das eine neue Version mit einer älteren zurechtkommt. Dies sollte sich über eine Versionsnummer regeln lassen. Ein CSV-Parser würde wahrscheinlich ähnlich aussehen.
 
OP
R

Reini

Geocacher
Mit dem Tab und dem Editor hast Du natürlich recht. So was kann schon mal schief gehen.

Deine Idee mit den Indexen ist sicher verfolgenswert, ich vermute aber daß im allgemeinen XML Parser viel Zeit verbrutzelt wird und das nicht zu viel bringen wird. Auf jeden Fall einen Versuch wert! Die Einschränkung, daß dann alle Attribute immer in der gleichen Reihenfolge vorkommen müssen ist verkraftbar.

Leider ist unter Windows die Auflösung des Timers so schlecht, daß es sehr schwer ist herauszubekommen wo die Zeit verschwindet.
 

Kalli

Geowizard
Reini schrieb:
Leider ist unter Windows die Auflösung des Timers so schlecht, daß es sehr schwer ist herauszubekommen wo die Zeit verschwindet.

Ich wollte mir im Urlaub (nächste Woche) mal einen Profiler für eclipse anschauen. Da ich dann mal mehr Zeit zum Programmieren habe, könnte ich dann zumindest mal einen Test machen, was mein Vorschlag bringt. Außerdem würde ich auf dem PDA mal stoppen, wieviel Zeit von der auswahl des Profils bis zum Erscheinen des CacheWolfs vergeht, natürlich vorher/nacher.
 

Kalli

Geowizard
Habe mal eine Schleife ausgebaut:

Hat auf dem PPC etwas gebracht: vorher ca. 25s, jetzt ca. 20s, Datenbank hat 169 Caches. Mit nur einem Cache dauert es 9,79 s.

Ich werde die Sache schon mal einchecken, aber mal mit dem Profiler weiter nachschauen.
 
Oben