Android: Eleganter Zugriff auf SharedPreferences in Kotlin

Um auf Androids SharedPreferences zuzugreifen, muss man immer wieder denselben Code tippen. Mit Kotlin gelingt der Zugriff stattdessen wie auf eine Variable.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht
Eleganter Zugriff auf Androids SharedPreferences in Kotlin

(Bild: Albert Hulm)

Lesezeit: 3 Min.
Pina programmiert

Zustände und Einstellungen speichere ich in Android-Apps mit SharedPreferences. Der Zugriff darauf nervt mich aber, weil ich ständig den gleichen Boilerplate-Code verwenden muss. Bisher haben meine Apps in der Activity eine Instanz der Klasse angefordert. Das sieht beispielsweise so aus:

p = this.context.getSharedPreferences("net.pinae.caliperapp.prefs", 0)
bday = Date(p.getLong("birthday", -1))

Das Problem dabei: Vertippe ich mich beispielsweise beim Namen der SharedPreferences, funktioniert der Code nicht mehr. Außerdem greift die App an mehreren Stellen völlig gleich auf den Geburtstag zu und ich muss den Code jeweils kopieren und einfügen.

Sobald ich beispielsweise an der Konvertierung des Datums etwas ändern möchte, muss ich den Code an jeder Stelle anpassen, an die ich ihn kopiert habe. Vergesse ich eine davon, entsteht sofort ein Programmfehler.