wo Aktionen beim Start der Anwendung ausführen?

B

busch99

Neues Mitglied
0
Hallo zusammen,

ich habe eine App, die beim Start eine bestimmte Aktion ausführen soll (Holen von Daten über ein HTTPGet). Das soll jedesmal geschehen, wenn die App von der Android-Oberfläche gestartet wird, aber nicht, wenn die Start-Activity innerhalb der App mit dem Zurück-Button aufgerufen wird.

Wenn ich meinen Code jetzt in onStart platziere, wird er auch aufgerufen, wenn man mit Zurück zur Start-Activity zurückkehrt. Das ist nicht erwünscht.

Wenn ich die Aktion dagegen in onCreate starte, wird sie u.U. nicht durchgeführt, wenn ich die App von der Oberfläche starte, da Android inaktive Apps ja nicht zwingend automatisch beendet, sondern im Hintergrund an Leben erhält.

Wo startet man solche Aktionen üblicherweise? Oder kann ich im onStart irgendwie feststellen, wie die Activity gestartet wurde, per Zurück-Button oder von der Oberfläche?
 
wenn oncreate nicht für die passend ist, dann nimm doch onResume. die wird immer aufgerufen, wenn die activity in den vordergrund kommt
 
Danke, aber genau das will ich ja nicht.
Mein HTTPGet soll ja nicht jedesmal durchgeführt werden, wenn die activity in der Vordergrund kommt, sondern nur, wenn sie von der Android-Oberfläche über das Icon gestartet wird.

Oder geht das vielleicht nicht? Ist meine erste Android-App, ich komme von der Windows-Programmierung.
 
na dann weiß ich nicht wo genau dein problem liegt.

du rufst die daten im oncreate ab - der user beendet die app mit dem home button.

die daten sind ja noch gespeichert.

der user öffnet die app wieder und er bekommt ja die daten wieder zu sehen.
---

kannst aber natürlich dann im onpause die daten speichern und im onresume wieder laden. oder im onsaveinstancestate - möglichkeiten gibts viele
 
swordi schrieb:
na dann weiß ich nicht wo genau dein problem liegt.

du rufst die daten im oncreate ab - der user beendet die app mit dem home button.

die daten sind ja noch gespeichert.

der user öffnet die app wieder und er bekommt ja die daten wieder zu sehen.
---

Dann muss ich doch noch ein bischen weiter ausholen:
Es ist ja OK, wenn die Daten noch gespeichert sind und der User sie nach dem Öffnen der App wieder zu sehen bekommt.
Es kann aber sein, dass die Daten dann nicht mehr aktuell sind und man sie neu abrufen müsste. Ich könnte dazu natürlich einen Refresh-Button o.ä. einbauen, aber den muss der User dann auch betätigen, was natürlich leicht vergessen werden kann.
Deshalb wollte ich die Daten gerne beim Start einmal automatisch abrufen, dann aber nicht mehr, weil das auf Kosten der Laufzeit geht.
 
Moin,
mach dir nen Timer, der die Daten alle X minuten aktualisiert.

MfG

//EDIT
oder setz dir nen Zeitstempel, wann du das letzte mal aktualisiert hast, wenn das xx minuten zurück liegt, aktualisierst du halt.
 
Sentence schrieb:
Moin,

oder setz dir nen Zeitstempel, wann du das letzte mal aktualisiert hast, wenn das xx minuten zurück liegt, aktualisierst du halt.

Danke,
auf so etwas wird es wohl hinauslaufen.
 

Ähnliche Themen

S
  • Sempervivum
Antworten
2
Aufrufe
593
Sempervivum
S
B
Antworten
6
Aufrufe
1.016
jogimuc
J
Jansenwilson
Antworten
1
Aufrufe
740
swa00
swa00
Zurück
Oben Unten