Android: Einstellungen innerhalb einer App (Update)

Fast jede App braucht bestimmte Einstellungen damit der Benutzer diese individualisieren kann. Zum Beispiel zum Hinterlegen eines Benutzernamen und eines Passwortes. Ich möchte hier kurz Zeigen wie man schnell und einfach eine Einstellungsseite (Für Android SDK Version 11+) in seiner App einbauen kann.

Zu erst sollte man folgende Dateien innerhalb seiner App erstellen (/src/main/):

  • /java/Appname/SettingsActivity.java – Eine einfache Activity welche die Einstellungen anzeigen soll
  • /java/Appname/SettingsFragment.java – Zuständig um das Handling mit den Einstellungen zu übernehmen
  • /res/values/strings_activiy_settings.xml – Hier werden die ganzen Bezeichnungen gespeichert
  • /res/xml/pref_settings.xml – Der Aufbau der Einstellungen

Die SettingsActivity ist nicht sehr groß:

 

Die SettingsFragment Klasse ist nicht sehr viel größer:

Wichtig bei beiden Klassen ist es das sie von der Richtigen Klasse erben.

Das war der Java Teil der Einstellungen.

Das Handling mit der strings_activity_settings.xml fühlt sich gleich an wie bei z.B. bei der strings.xml. Man bezeichnet eindeutig ein String oder Array und ruft diese Später in der pref_settings.xml nur noch auf. ein Beispiel:

Bei einer Liste sollte man immer den einzelnen Punkten die man später aus wählen kann eine Zahl hinterlegen.

Als letztes wird die pref_settings.xml angefasst. Diese Datei führt jetzt alles zusammen und definiert das Verhalten der Ansicht.

Im Grunde wars das schon. Android kümmert sich um die Speicherung der Einstellungen so das man sich nur darum kümmern muss wie die einzelnen Punkte aussehen.

Update:

Der Zugriff auf diese Einstellungen ist sehr einfach:

Vor dem Abfragen der Einstellungen müssen diese geladen werden (Natürlich im aktuellen Kontext). Danach lassen sich die einzelnen Felder abfragen. In meinem Beispiel frage ich das Feld username ab (und das sollte in einem String ausgegeben werden, deshalb getString). Der zweite Parameter ist der Standardwert und in meinem Fall zum Testen habe ich dort “nichts” eingetragen. Man kann dort auch eine leeren String übergeben.

 

Johannes

Hauptberuflich bin ich im Bereich Filesecurity unterwegs und schütze die Daten meines Arbeitgebers vor internen und externen Gefahren. Nebenberuflich helfe ich KMUs als IT-Consultent bei der IT-Strategie sowie bei der Entwicklung von Webanwendungen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.