| |||||||
Das Thema "Variable soll auch nach Bootup erhältlich sein" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.
|
| | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Android-Hilfe.de Mitglied Modell: Nexus One Registriert seit: 06.03.2011
Beiträge: 111
Abgegebene Danke: 14
Erhielt 0 Danke für 0 Beiträge
| Hatte meine App jetzt fast fertig geschrieben, bis ich einen dummen Fehler entdeckt habe. Eine Kleinigkeit, welche die ganze Funktion der App vermasselt :/ Es geht darum, eine Variable zu definieren, welche die Laufzeit der App speichern soll. Ab dem Punkt der Installation soll Laufzeit die Periode 1 Woche anrechnen. Die Variable dient dazu den Terminationsprozess der App aufzurufen. Code: long Laufzeit = SystemClock.elapsedRealtime() + period; Nun hat das installieren + deklarieren + terminieren der App perfekt funktioniert, bis ich einen Bootup gemacht habe. Danach ging das Ganze von vorne los --> neue Laufzeit --> neuer Terminierungszeitpunkt ![]() Gibt es einen Weg diesen Zeitpunkt EINDEUTIG festzulegen, anstatt ihn immer nach Bootup um 1 Woche zu verschieben? |
| | |
| | #2 (permalink) |
| Android Guru Modell: T-Mobile G1, Nexus One, Samsung Galaxy Tab 10.1, Samsung Galaxy Nexus Registriert seit: 04.05.2009
Beiträge: 1.599
Abgegebene Danke: 128
Erhielt 210 Danke für 193 Beiträge
|
Speicher es in einer SharedPrefs Datei.
|
| | |
| | #3 (permalink) |
| Android-Hilfe.de Mitglied Modell: Nexus One Registriert seit: 06.03.2011
Beiträge: 111
Abgegebene Danke: 14
Erhielt 0 Danke für 0 Beiträge
|
Hey! Erstmals danke für den Hinweis Aber - Kannst du dich bitte ein bisschen genauer ausdrücken? Beispiel vielleicht? |
| | |
| | #4 (permalink) |
| Android Guru Modell: T-Mobile G1, Nexus One, Samsung Galaxy Tab 10.1, Samsung Galaxy Nexus Registriert seit: 04.05.2009
Beiträge: 1.599
Abgegebene Danke: 128
Erhielt 210 Danke für 193 Beiträge
|
SharedPreferences -> siehe SDK Docs. SharedPreferences öffnen, Variable laden ... *programm läuft* ... Variable schreiben, Programm beendet. |
| | |
| | #5 (permalink) |
| Android-Hilfe.de Mitglied Modell: Nexus One Registriert seit: 06.03.2011
Beiträge: 111
Abgegebene Danke: 14
Erhielt 0 Danke für 0 Beiträge
|
Ok, ich habe hier ein gutes Beispiel gefunden: How to use SharedPreferences in Android to store, fetch and edit values - Stack Overflow Ich sehe da einen kleinen Haken. Der SharedPreferences Wert wird in der onCreate()-Methode geschrieben. In der onStart()-Methode wird er gelesen und dementsprechend gehandelt. ABER Jedesmal wenn der Phone neu startet wird die onCreate()-Methode betreten und der SharedPreferences Wert wird erneut überschrieben. Er ist nicht mehr permanent bzw eindeutig |
| | |
| | #6 (permalink) |
| Android Guru Modell: T-Mobile G1, Nexus One, Samsung Galaxy Tab 10.1, Samsung Galaxy Nexus Registriert seit: 04.05.2009
Beiträge: 1.599
Abgegebene Danke: 128
Erhielt 210 Danke für 193 Beiträge
|
Öhm, du solltest es in der onCreate() lesen und in onStop() schreiben...
|
| | |
| | #7 (permalink) |
| Android-Hilfe.de Mitglied Modell: Nexus One Registriert seit: 06.03.2011
Beiträge: 111
Abgegebene Danke: 14
Erhielt 0 Danke für 0 Beiträge
|
Aber dann wird es jedesmal in der onStop()-Methode überschrieben (jedesmal, wenn der User zu einer anderen App navigiert).
|
| | |
| | #8 (permalink) |
| Android Guru Modell: T-Mobile G1, Nexus One, Samsung Galaxy Tab 10.1, Samsung Galaxy Nexus Registriert seit: 04.05.2009
Beiträge: 1.599
Abgegebene Danke: 128
Erhielt 210 Danke für 193 Beiträge
|
Du hast nicht soviel Erfahrung in Programmierung oder? Code: long meineVariable;
long timestamp;
public void onCreate() {
timestamp = new Date().getTime();
meineVariable = sharedPrefs.getInt("meineVariable", 0);
}
public void onStop() {
meineVariable += new Date().getTime() - timestamp;
sharedPrefsEditor.putInt("meineVariable", meineVariable);
} Und übrigens wird onStop() aufgerufen wenn die App wirklich aus dem Speicher entfernt wird. Wenn der User zu einer anderen App navigiert wird onPause() aufgerufen. |
| | |
| Folgender Benutzer bedankt sich bei the_alien für diesen Beitrag: | sem_thesis (07.06.2011) |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |
| ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Was soll an Taskkillern so gefährlich sein? | mautz001 | Android Allgemein | 10 | 02.02.2011 12:09 |
| HTC Kalender Widget: erster Tag soll Montag sein | Zipfelklatscher | HTC Desire Forum | 7 | 07.05.2010 09:52 |
| Welcher Androide soll es sein??? | frave | Allgemeine Kaufberatung | 2 | 21.01.2010 16:40 |
| Startvorgang soll lautlos sein | butterkeks | HTC Tattoo Forum | 2 | 11.12.2009 22:17 |