[Gelöst] Globale Variable fürs Handy

  • 13 Antworten
  • Neuester Beitrag
Diskutiere [Gelöst] Globale Variable fürs Handy im Android App Entwicklung im Bereich Betriebssysteme & Apps.
X

xazen

Ambitioniertes Mitglied
Hi Leute,

kann mir einer sagen, wie ich eine globale Variable für das Handy setzen kann?

Ich mache eine App, bei dem man was freischalten kann. Die Freischaltcodes kann man nur einmal verwenden. Wenn in der App der Freischaltcode eingegeben wurde, soll beim nächsten mal wenn man die App startet die neuen Features vorhanden sein.
 
GalaxyKeks

GalaxyKeks

Experte
Eine globale Variable in über das ganze System ist in dem Sinne nicht möglich,
da jede App in ihrer Sandbox läuft.
Jedoch gibt es Möglichkeiten sowas in die SharedPreferences einer App zu schreiben, diese prüfst du dann kurz bei jedem Start. (oder wo du willst)
Das wäre denke ich die einfachste Lösung. Man könnte auch einen ContentReceiver und Resolver machen aber das wäre nur dafür Blödsinn und Overkill ;)
 
X

xazen

Ambitioniertes Mitglied
Ich habe nie die Klasse verwendet. Kannst du mir bitte ein simples Beispiel zeigen ?
 
garak

garak

Ehrenmitglied
SharedPreferences ist eine klasse Klasse. :laugh:
 
GalaxyKeks

GalaxyKeks

Experte
Genau genommen ist es laut API ein Interface ;)
 
ramdroid

ramdroid

Stammgast
:blushing:
 
X

xazen

Ambitioniertes Mitglied
wenn man die App erneut installiert oder die überarbeitete App nochmal auf das Debugging-Gerät installiert, werden die SharedPreferences zurückgesetzt oder müsste man dafür Packagename ändern?
 
GalaxyKeks

GalaxyKeks

Experte
Für was?
Damit die erhalten bleiben?
 
X

xazen

Ambitioniertes Mitglied
damit wieder die default-Werte genommen werden.
 
K

ko5tik

Stammgast
xazen schrieb:
wenn man die App erneut installiert oder die überarbeitete App nochmal auf das Debugging-Gerät installiert, werden die SharedPreferences zurückgesetzt oder müsste man dafür Packagename ändern?
Solange gleiches Signier-Key verwendet wird, kann man die Anwendung überschreiben
und SharedPreferences bleiben intakt
 
garak

garak

Ehrenmitglied
Solange deine Anwendung in einer neuen Version die alte Version überschreibt, werden auch die bestehenden Werte weiter verwendet. Möchtest du diese zurücksetzen musst du den ersten Start deiner Anwendung über die Versionsnummer abfragen, die Daten zurücksetzen und dir ein Flag schreiben.