PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Android-Programmierung


Gast
2019-11-21, 17:11:34
Hallo,

ich will jedes Mal, wenn meine App nicht mehr sichtbar ist, einen Counter um eins hochzählen lassen. Welche Möglichkeiten habe ich hier zu?

Globale Variable und jedes mal im onStop() den Wert meines Counters um 1 erhöhen?

Welche Möglichkeiten habe ich noch?

patermatrix
2019-11-22, 18:52:52
Wenn der Wert über die gesamte Installationsdauer hochgezählt werden soll wirst du um eine persistente Speicherung (https://developer.android.com/guide/topics/data/data-storage) nicht herumkommen. Für solche simplen Sachen sind wohl die SharedPreferences am besten geeignet.

Welche Lifecycle Methode du dabei verwendest hängt vor allem von deiner Definition von „nicht mehr sichtbar“ ab.

Gewisse Methoden werden z.B bereits aufgerufen, wenn du den Taskmanager öffnest - auch wenn du danach wieder zur selben App zurückkehrst. Leider ist dieses Verhalten aber nicht über alle Geräte, Android Versionen oder Launcher einheitlich.

iuno
2019-11-22, 19:08:58
onStop() ist vermutlich schon der richtige callback. Und ja, shared prefs sind dafuer geeignet. Die globale Variable nicht, denn Android killt dir wenn es Lust hat den Prozess. Der wird dann zwar natuerlich auch wieder neu gestartet, aber dann bist du halt wieder bei 0.