zurück zum Artikel

Android: Eleganter Zugriff auf SharedPreferences in Kotlin

| Pina Merkert

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

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.


URL dieses Artikels:
https://www.heise.de/-4419030

Links in diesem Artikel:
[1] https://www.heise.de/ratgeber/BouncyCastle-RSA-Verschluesselung-unter-Android-4484615.html
[2] https://www.heise.de/ratgeber/BigInt-Rechnen-mit-beliebig-grossen-ganzen-Zahlen-4473509.html
[3] https://www.heise.de/ratgeber/Android-Bound-Services-Faehigkeiten-an-andere-Apps-verleihen-4461289.html
[4] https://www.heise.de/ratgeber/Singletons-sauber-in-C-programmieren-4451707.html
[5] https://www.heise.de/ratgeber/Netzwerk-Threads-in-PyQt5-Anwendungen-4440982.html
[6] https://www.heise.de/ratgeber/Parameter-mit-SciPy-curve-fit-automatisch-optimieren-4432920.html
[7] https://www.heise.de/tests/Android-Eleganter-Zugriff-auf-SharedPreferences-in-Kotlin-4419030.html
[8] https://www.heise.de/ratgeber/Mit-der-Python-Bibliothek-fPDF-druckbare-Dokumente-erzeugen-4521674.html
[9] https://www.heise.de/ratgeber/Urlaubsbilder-automatisch-per-Python-Skript-ordnen-4550966.html
[10] https://www.heise.de/hintergrund/C-Performance-der-binaeren-Suche-steigern-4567394.html
[11] https://www.heise.de/hintergrund/Markdown-mit-YAML-und-Pandoc-in-JSON-konvertieren-4606390.html
[12] https://www.heise.de/hintergrund/Per-Python-Bibliothek-PySummarization-lange-Texte-automatisch-kuerzen-4979378.html