Service kommunikation mit App, auch wenn diese nicht läuft

  • Guten Tag,

    ich hoffe ja auf eine möglichst einfache Antwort^^

    Habe folgendes Szenario:

    Mit einem Service wird alle X Minuten um eine Bestätigung gebeten. Alle X+1 Minuten schaue ich dann, ob diese hinterlegt wurde.

    Anderes Szenario:
    Der Service ruft GPS Daten ab und lädt diese hoch. Nun sollen diese Daten aber auch in der App dargestellt werden. Wenn diese läuft ist es kein Problem, dann übergebe ich die Daten einfach per Binder. Aber wenn der Service läuft, die App beendet wird und dann 10 Minuten später die App geöffnet wird, sollen diese Daten auch angezeigt werden.

    Der einzige Weg, welcher mir jetzt einfallen würde, wäre, dass ganze in eine Datei zu speichern und dann beim Aufrufen wieder zu lesen.

    Oder kann ich das ganze auch in eine Statische Klasse speichern?
    Was passiert mit dieser, wenn die App beendet wird?

  • Sqlite wäre eine möglichkeit. Aber was spricht dagegen die daten im Service zu halten und sobald deine app wieder startet, holt sie sich aus dem Service die aktuellen daten?

  • Weil ich den Service jetzt per AlarmManager alle 10 Sekunden starte und nur für den Kurzen Prozess behalte. Deswegen würden sie da auch nicht lange gesichert sein.

    SQLite hatte ich schon befürchtet, wird es wohl drauf hinauslaufen..^^

  • Weil ich sicher stellen muss, dass diese Updates immer weiter laufen, egal ob die App beendet wird oder nicht, und dies schien mir der einfachste Weg dafür zu sein.
    Und überall wird geschrieben, man sollte anstatt einen länger Laufenden Service zu erstellen, lieber viele kleine machen, welche laufen und dann fertig sind...:D

    Habe SQLite jetzt implementiert, teste es gleich mal...

  • es ist richtig für länger laufende aktionen einen service zu verwenden, aber wo hast du das her, dass man lieber viele kleine nehmen soll?
    Davon hab ich noch nix gelesen, lass mich aber gern eines besseren belehren.

    teste es doch einfach mal mit einem länger laufenden service, solang der nicht 80% cpu auslastung verursacht, sehe ich da kein problem (außer er ist ungebunden, dann hast du natürlich ein memoryleak).

Jetzt mitmachen!

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