Firebase überträgt Daten nicht richtig?

  • dein alter code solte so auch laufen. nur bei dem neuen Lauf bin ich mir nicht sicher habe ich nicht gestestet.

    Einmal editiert, zuletzt von nono124 (27. April 2020 um 18:05)

  • Warum wird bei nerer Lauf ein neuer listner erstellt?

    das Prüfen welche listner du brauchst solltest du vor dem Erstellen des Regatta listner machen in der ersten for Schleife.

    Einmal editiert, zuletzt von nono124 (27. April 2020 um 18:03)

  • Der ist dafür da um rauszufinden wie viel läufe es davor schon gegeben hat. Heißt wenn es schon zwei gibt soll der jetzige unter lauf 3 abgespeichert werden.
    Ist allerdings erstmal irrelevant da es schon bei regatta nicht geht. Wie gesagt, ich werde das mit der abfrage ob alle Spieler in der Datenbank sind mal in Angriff nehmen.

    Mal ne Frage abseits. Ich möchte sobald alle Teilnehmer übertragen wurden einen Toast angezeigt bekommen das es funktioniert hat. Jetzt beendet mir das System.exit allerdings direkt den Toast. Heißt er wird nicht angezeigt. Gibt es da eine möglichkeit das zu umgehen?
    Hab da schon was gefunden: https://stackoverflow.com/questions/3296…es-away#5420929 allerdings wird der Toast bei mir trotzdem nicht angezeigt.

    Am einfachsten wäre es vermutlich auf das System.exit zu verzichten. Dann könnte ich mir auch die abfrage sparen ob alle teilnehmer übertragen wurden.
    Bekanntes problem: Wenn ich es weglasse habe ich ja das Problem das in der nächsten regatta die letzten werte noch vorhanden sind und ich erst die alten zeiten manuell löschen muss.
    Allerdings hab ich keine Ahnung wie ich meinen Viewholder leer bekomme

  • hallo eine einfache verzögerte lösung wäre in etwas so.
    Bei einem Toast musst du aber aufpassen das du auch den richtgen Context hast.


  • Den Code von dir habe ich auch getestet allerdings funktioniert da bei mir garnichts... Einmal geht die Berechnung nichtmehr. Es trägt in die datenbank immer nur die Punktzahl 0 ein. Zudem speichert er genauso fehlerhaft wie momentan. Mal ein teilnehmer, mal zwei.. Nie alle drei.

    Ich mach jetzt die einfachste lösung. Ich lasse den bestehenden Code wie er ist. Und füge (auch wenn man es nicht machen sollte) das

    try{
    Thread.sleep(1000);
    }catch(InterruptedException e){} vor dem System.exit(0) auf... mehr als das die Activity abstürtzt kann ja nicht wirklich passieren... Unsauber aber selbst wenn würde es ja nicht stören. Dieser Fehler nervt mich jetzt schon so lang. Zumindest funktioniert es so... Never touch a runnning system :P

  • Oh die Nachricht hatte ich wohl überlesen. Ja so funktioniert es tatsächlich und gibt mir sogar den Toast aus *.*
    Endlich eine schöne funktionierende lösung ^^
    dankeschön :D

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!