Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

Variable soll auch nach Bootup erhältlich sein

Das Thema "Variable soll auch nach Bootup erhältlich sein" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 06.06.2011, 19:58   #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
Standard Variable soll auch nach Bootup erhältlich sein

Hallo


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;
Diese Variable wird in der onCreate()-Methode der Hauptklasse deklariert.


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?
sem_thesis ist offline   Mit Zitat antworten
Alt 06.06.2011, 20:42   #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
Standard AW: Variable soll auch nach Bootup erhältlich sein

Speicher es in einer SharedPrefs Datei.
the_alien ist offline   Mit Zitat antworten
Alt 06.06.2011, 20:48   #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
Standard AW: Variable soll auch nach Bootup erhältlich sein

Hey!

Erstmals danke für den Hinweis


Aber - Kannst du dich bitte ein bisschen genauer ausdrücken?
Beispiel vielleicht?
sem_thesis ist offline   Mit Zitat antworten
Alt 06.06.2011, 20:52   #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
Standard AW: Variable soll auch nach Bootup erhältlich sein

SharedPreferences -> siehe SDK Docs.

SharedPreferences öffnen, Variable laden ... *programm läuft* ... Variable schreiben, Programm beendet.
the_alien ist offline   Mit Zitat antworten
Alt 06.06.2011, 21:03   #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
Standard AW: Variable soll auch nach Bootup erhältlich sein

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
sem_thesis ist offline   Mit Zitat antworten
Alt 06.06.2011, 21:06   #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
Standard AW: Variable soll auch nach Bootup erhältlich sein

Öhm, du solltest es in der onCreate() lesen und in onStop() schreiben...
the_alien ist offline   Mit Zitat antworten
Alt 07.06.2011, 10:32   #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
Standard AW: Variable soll auch nach Bootup erhältlich sein

Aber dann wird es jedesmal in der onStop()-Methode überschrieben (jedesmal, wenn der User zu einer anderen App navigiert).
sem_thesis ist offline   Mit Zitat antworten
Alt 07.06.2011, 10:53   #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
Standard AW: Variable soll auch nach Bootup erhältlich sein

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);
}
Das ist mal eben so ins Unreine aus dem Kopf geschrieben. Keine Gewähr ob die Methodennamen und -signaturen richtig sind.

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.
the_alien ist offline   Mit Zitat antworten
Folgender Benutzer bedankt sich bei the_alien für diesen Beitrag:
sem_thesis (07.06.2011)
Alt 07.06.2011, 20:03   #9 (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
Standard AW: Variable soll auch nach Bootup erhältlich sein

Ok - danke - hat geklappt
sem_thesis ist offline   Mit Zitat antworten
Alt 07.06.2011, 20:31   #10 (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
Standard AW: Variable soll auch nach Bootup erhältlich sein

Danke Button drücken?
the_alien ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

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




Du liest gerade: "Variable soll auch nach Bootup erhältlich sein" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.