Daten an mysql-db schicken.. was wenn keine Internetverbindung

  • Hi,


    eine Frage. meine App generiert Daten die an eine zentrale Mysql DB gesendet werden. Wenn ich jetzt explizit "abschicken" drücke, werden die Daten gesendet. Wenn gerade keine Verbindung da ist, dann bewirkt "abschicken" das cachen in den SharedPreferences.


    Jetzt ist meine Frage wann und wie ich die Daten abschicken soll? Eine Möglichkeit wäre wenn der User nochmal daten generiert und wieder "abschicken" drückt.
    Die andere Möglichkeit wäre (falls Daten vorhanden sind) diese beim starten der app bzw. beim wiederöffnen zu senden.
    Oder eben eine Kombination aus beiden oben genannten.


    Oder wie sieht es mit einem Service aus? Kann ich beim "abschicken" einen Service starten der jede Stunde die SharedPreferences ausliest und versucht die Daten zu senden?


    Gruß

  • Am Elegantesten wäre es vermutlich, Du würdest dich informieren lassen sobald eine Internetverbindung besteht und die Daten dann automatisch im Hintergrund versenden.

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • Meines Wissens schon. Ist das eine gute Idee?
    Manche Nutzer mögen es nicht, wenn 'inaktive‘ Anwendungen hinter ihrem Rücken irgendwohin quatschen.

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • Das ist die einzig vernünftige Handhabe.
    Es handelt sich immerhin um ein Smartphone und nicht um ein Serversystem.


    Sprich: das Ding soll ressourcenschonend arbeiten. In einem bestimmten Zeitintervall im Hintergrund die Netzwerkverbindung abfragen und Daten hin und her schieben ist nicht ressourcenschonend.


    Viel spannender ist die Frage: wozu das Ganze?
    Es gibt doch nun wirklich überhaupt keinen sinnvollen Grund, permanent eine Datenbank aktualisieren zu wollen.
    (Datensammelwut ist kein sinnvoller Grund.)

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • die Anwendung erfordert es Daten des Users an eine zentrale DB zu schicken. Dies erfolgt aber so sporadisch, dass die app manchmal über Woche geschlossen bleibt.
    Es sollen auch nur die Daten übertragen werden, zurück kommt nichts vom Server.


    Da ich diese Netzwerk-Diskrepanz irgendwie behandeln muss, wäre es doch am besten ich registriere den BroadcastReciever (wenn die Internetverbindung nicht steht) und wenn ich über Netzwerkverfügbarkeit informiert werde, schreibe ich die Daten in die DB und de-registriere mich vom reciever?

Jetzt mitmachen!

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