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

Trackable Tests

OP
Longri

Longri

Geoguru
Eigentlich sollte es kein Problem sein, hier Fildnotes zu erzeugen, den der API Aufruf ist der gleiche, bis auf den Unterschied, dass das Flag Publish auf False gesetzt wird.

Ich werde dies Testen und dann so umsetzen.

Und wenn ich ein TB loggen möchte und keine INet Verbindung habe, dann wird hier eine Fieldnote erzeugt.

Gesendet von meinem GT-I9300 mit Tapatalk 2
 

Koblenzer

Geomaster
Bin diese Woche auf Mallorca mit der 1642 unterwegs. Wollte eben vor Ort einen Coin aus einem Cache entnehmen, aber beim Onlinezugriff ging es trotz langen wartens und guter HSDPA Verbindung nicht weiter (siehe Screenshot). Ich habe dann irgendwann Abrechen gedrückt und es dann direkt noch einmal versucht. Dann klappte es sofort. Gibts da kein Timeout oder so?
 

Anhänge

  • uploadfromtaptalk1368973801668.jpg
    uploadfromtaptalk1368973801668.jpg
    13,2 KB · Aufrufe: 723
OP
Longri

Longri

Geoguru
So der erste Schritt ist getan, mit der 1654 könnt ihr jetzt wählen, ob ihr ein TB gleich loggen wollt, oder erst mal eine FieldNote erzeugen wollt.

Das abfangen, wenn keine Inet-Verbindung oder ein Timeout kommt, habe ich jetzt noch nicht drin. Das ist dann das nächste.

Irrtümlicher weise ist ein TB-Log aber doch nicht gleich einer FieldNote, sodass hier beim Upload der Fieldnotes dann die TB-FieldNotes gleich geloggt werden, wenn es denn geht! (Inet)
Es ist also nicht möglich hier eine FieldNote zu GS hochzuladen und erst am PC zu loggen.

Ich habe auch schon die anderen Log-Typen vorbereitet(owner maintenance…..) habe aber hier die Menü-Einträge noch nicht vorgenommen.


Gruß Andre
 

Koblenzer

Geomaster
Die 1657 findet keine TBs mehr bei der Suche. Entweder es kommt "$NoTbIDfound" oder ACB stürzt sogar ab. Gestestet mit 2 TB Nummern die ich discovern wollte. Catlog vom Absturz unten.

05-22 14:33:18.569 D/CACHEBOX(13935): 22/05 02:33:18 - [DEBUG]- [ENERGY.set dontRender]
05-22 14:33:21.514 D/CACHEBOX(13935): 22/05 02:33:21 - [DEBUG]- [ENERGY.reset dontRender]
05-22 14:33:31.709 D/CACHEBOX(13935): 22/05 02:33:31 - [DEBUG]- [ENERGY.set dontRender]
05-22 14:38:21.629 D/CACHEBOX(13935): 22/05 02:38:21 - [DEBUG]- [ENERGY.reset dontRender]
05-22 14:39:09.489 D/CACHEBOX(13935): 22/05 02:39:09 - [DEBUG]- [Main=> onResume]
05-22 14:39:09.499 D/CACHEBOX(13935): 22/05 02:39:09 - [DEBUG]- [Main=> onResume SuppressPowerSaving]
05-22 14:39:09.509 D/CACHEBOX(13935): FocusChangedEventList registerde.cachebox_test.main@41c092f0
05-22 14:39:09.509 V/IntentResolver(2042): Resolving type null scheme null of intent Intent { act=de.cachebox.action.PICK_PLUGIN flg=0x8 }
05-22 14:39:09.639 D/CACHEBOX(13935): Set: RenderDirty
05-22 14:39:17.489 D/CACHEBOX(13935): ShowDialog: WaitDialog X,Y/Width,Height = 170.0,527.5/460.0,187.0
05-22 14:39:25.414 D/CACHEBOX(13935): Main=> onPause
05-22 14:39:35.499 D/CACHEBOX(13935): Set: RenderContinous
05-22 14:39:36.524 D/CACHEBOX(13935): 22/05 02:39:36 - [DEBUG]- [Main=> onPause release SuppressPowerSaving]
05-22 14:39:36.599 D/CACHEBOX(13935): 22/05 02:39:36 - [DEBUG]- [Main=> onStop]
05-22 14:39:36.619 D/CACHEBOX(13935): FocusChangedEventList unregisterde.cachebox_test.main@41c092f0
05-22 14:39:36.624 D/CACHEBOX(13935): Main=> onDestroy
05-22 14:39:36.629 D/CACHEBOX(13935): Main=> onDestroy isFinishing
05-22 14:39:36.774 I/ActivityManager(2042): Process de.cachebox_test (pid 13935) (adj 10) has died.
 
OP
Longri

Longri

Geoguru
Das kann es nicht mehr sein, ich schaue mal rein, habe aber gerade eine andere Baustelle.

Gesendet von meinem GT-I9300 mit Tapatalk 2
 
OP
Longri

Longri

Geoguru
Habe den Fehler gefunden, weiß aber noch nicht wie ich ihn beheben kann.

Ich bin hier auf meine Wurzeln c# reingefallen und habe einer Methode den Trackable als ByRef übergeben, was es ja so in Java nicht gibt.
Auch wenn es jetzt nicht für jeden verständlich war, was ich da geschrieben habe, hoffe ich darauf, das es ein anderer Entwickler liest und mir bei dem ByRef Problem helfen kann.

Ansonsten muss ich hier erst mal meine Freundin Google befragen, wie ich das Problem lösen kann.

Gruß Andre
 

arbor95

Geoguru
by ref : ein Objekt wird doch immer geändert!
gewollte Änderung oder nicht gewollt?
Auf ner Kopie arbeiten oder zurückgeben (nicht void)
 
OP
Longri

Longri

Geoguru
Der return Wert ist aber int (ErrorCode) und bei den Arrays funktioniert es ja auch (Arraylist<Images> nur bei der Klasse Trackable bekomme ich null zurück.

Gesendet von meinem GT-I9300 mit Tapatalk 2
 

Ging-Buh

Geowizard
Longri schrieb:
Der return Wert ist aber int (ErrorCode) und bei den Arrays funktioniert es ja auch (Arraylist<Images> nur bei der Klasse Trackable bekomme ich null zurück.

Gesendet von meinem GT-I9300 mit Tapatalk 2
Hi Andre,

kannst du das genauer beschreiben, womit du da Probleme hast, was du machen möchtest und was da aber passiert?
 
OP
Longri

Longri

Geoguru
Na klar!
Ich wollte alle API-Calls dahingehend ändern, dass die Aufrufe immer ein Int zurückgeben.
Da hier einige der Methoden sowieso schon ein Int zurückgeben, habe ich diesen Return Wert benutzt um eventuelle Fehler-Meldungen zurück zu geben.

Code:
public static final int IO = 0;
public static final int ERROR = -1;
public static final int CONNECTION_TIMEOUT = -2;
public static final int API_ERROR = -3;

Jetzt habe ich gesehen, das bei der Methode getImagesForGeocache auch ein leeres Array der Images übergeben wird und beim zurückkehren dieses dann gefüllt ist.

Daher meine Vermutung mit dem ByRef.

Eine Recherche hat mir aber gezeigt, das hier nur Arrays als ByRef behandelt und damit der TB immer null war.

Ich habe jetzt aber eine Hilfsklasse geschrieben (ByRef<T>) welche von ArrayList ableitet und damit geht es jetzt bei meinen ersten Tests.
Ich werde hier heute noch ein wenig weiter Testen und meine anderen Baustellen abschließen und es dann hoch laden.

Gruß Andre
 

Koblenzer

Geomaster
1660: Ich möchte einen Trackable loggen, den ich gestern aus dem Cache "Cova ses Partions Noves" mitgenommen habe. Es schien zu diesem Zeitpunkt aber dass der da noch nicht vom Vorfinder eingeloggt war oder ich hatte mich verguckt. Wie dem auch sei, ich möchte den nun mit ACB nachloggen. Die gute Nachricht: die Suchfunktion funktioniert wieder :)
Mir fällt aber auf, dass ich scheinbar an der Stelle kein Datum setzen kann, aber das kann ich später über Fieldnote ändern noch korrigieren. Aber eben nur beim offline-Loggen.Abgesehen davon wird mir angezeigt, dass der Trackable im Cache "LP Bodega" liegt, was ja nicht stimmt. Allerdings ist das der zuletzt ausgewählte Cache in ACB.
Die Fieldnote wird nun auch angelegt und erscheint unter Fieldnotes. Beim Versuch des Hochladens der Fieldnote kommt dann aber wie erwartet eine Fehlermeldung. Also muss ich erst wieder den ursprünglichen TB-Fundcache ermitteln/rausfiltern/einblenden/aktivieren bevor ich den TB loggen kann. Beim nachloggen mehrerer TBs sehr umständlich! Besser wäre, wenn es keine Abhängigkeit zwischen dem ausgewählten Cache und des TB Loggens geben würde. Weiss nicht wozu die an der Stelle sinnvoll ist!? ACB sollte doch (über die Info aus der TB-Suche?) eigentlich auch so wissen wo der wirklich liegt. Zumindest die Webseite weiss das auch und gibt die korrekte Auswahl vor, Falschaufnahme ausgeschlossen. Noch eine Kleinigkeit: beim Löschen der TB-Fieldnote kommt in der Sicherheitsabfrage ein Leertext mit. "Die Fieldnote ... von Trackable"
Ansonsten scheint das TB Handling jetzt schon recht ordentlich zu funktionieren!
 

Anhänge

  • uploadfromtaptalk1369390290185.jpg
    uploadfromtaptalk1369390290185.jpg
    23,5 KB · Aufrufe: 485
  • uploadfromtaptalk1369390301761.jpg
    uploadfromtaptalk1369390301761.jpg
    21,7 KB · Aufrufe: 485
  • uploadfromtaptalk1369390560710.jpg
    uploadfromtaptalk1369390560710.jpg
    35,8 KB · Aufrufe: 485

Koblenzer

Geomaster
noch ein kleiner Verbesserungsvorschlag:
Beim Sofort-Ablegen verschwindet der TB aus dem Inventory. Nicht jedoch bei der Entnahme. Zumindest nicht bei offline/Fieldnote loggen.
Evtl. wäre es hilfreich nach dem erfolgreichen TB-Fieldnote-Upload automatisch die Funktion "TB-Inventar aktualisieren" im Anschluss aufzurufen!?
 

Koblenzer

Geomaster
Mir ist gerade aufgefallen, dass der Cache, den ich gestern fand, loggte und aus dem ich den TB vorhin erst nachgeloggt habe, plötzlich nicht mehr den "Gefunden"-Status hat! Ob das etwas mit meiner TB-Log-Fieldnote Aktion zu tun hat?
 
Oben