sekündliche Berechnung mit Service

  • 3 Antworten
  • Neuester Beitrag
Diskutiere sekündliche Berechnung mit Service im Android App Entwicklung im Bereich Betriebssysteme & Apps.
ronny130286

ronny130286

Fortgeschrittenes Mitglied
Hallo

ich habe folgendes vor => meine Kollegen haben damals für den PC ein Programm geschrieben das einem sekündlich errechnet wie viel Geld man während der Schicht schon verdient hat, ich hatte das Ganze dann schon einmal im C# umgesetzt und wollte das ganze nun auch für Smarthphone machen.

Nun ist die Denke recht einfach ich rechne mir meinen Sekundenlohn aus und lasse das App gucken seit wann ich arbeiten bin und wie lange ich noch arbeiten muss und addiere dann mittels Countdowntimer immer wieder den Sekundenlohn darauf. (mittels Service)

Jetzt gibt es ja beim Smarthphone das "Problem", das es nur einen Akku hat, dazu nun meine Frage:

Wenn ich einen Service erstelle der mir dann meinen Geldwert (sekündlich) errechnet und ihn in einen BroadCast packt, kann ich mir den Wert ja einmal aus diesem BroadCast auf mein Widget holen und einmal in der App direkt anzeigen lassen, aber nun habe ich bedenken das ich dann einen übel Akkudrain haben, sehe ich das richtig?

Wenn ja, gibt es eine besser Lösungen oder ist von solche Sachen abzuraten (Broadcast sekündlich zu "versenden")?
 
Zuletzt bearbeitet:
S

swordi

Lexikon
Du musst das nur berechnen wenn der user die APp offen hat

Gesendet von meinem Galaxy Nexus mit der Android-Hilfe.de App
 
A

amfa

Experte
Ich weiß nicht ob das eine gute Idee ist.
Zumal die Berechnung ja relativ simpel ist, ich sehe keinen Grund das dauerhaft im hintergrund als Service zu machen.
In der App würde ich das "on demand" machen sobald die App geöffnet wird berechne ich das, das dauert ja nur millisekunden.

Das Widget würde ich ehrlich gesagt nicht sekündlich updaten. Oder wenn dann nur optional aber auch da kannst du das ja direkt berechnen.
Die Standard analog Uhr hat auch keinen Sekundenzeiger vielleicht aus diesem Grund.

Und immerhin erzeugt der Broadcast auch einen Overhead der verarbeitet werden muss. Zumal ich mir nicht mal sicher bin, ob die Boardcast garantiert sofort ankommen., wenn es da aus welchen Gründen auch immer zu einem Stau kommen sollte (Single Core CPU die mit was anderem beschäftigt ist), könnte es ja passieren, dass deine Berechnungen zu spät ankommen.

Also zusammengefasst:
Ich würds jeweils in der App und im Widget direkt berechnen.
Im Widget würde ich den aktualisierungs intervall nicht zu niedrig setzen.
 
ronny130286

ronny130286

Fortgeschrittenes Mitglied
okay erstmal für die Antworten,

dann werde ich den Service, den ich jetzt schon hab einfach als Klasse umbauen und die führe ich dann einmal in der App und einmal im Widget und greife mir dann z.B einfach nur die Variable "ergebnis" als Public ab.

Das Widget würde ich dann "nur" jede Minute aktualisieren, oder gibt es dort eine Möglichkeit das Widget nur zu aktualisieren wenn den Bildschirm an ist und das Widget auf dem Bildschirm zu sehen ist?