Eigene Einstellungen speichern als Datei, Preferences oder SharedPreferences?

  • Antworten:3
  • OffenNicht stickyBentwortet
  • Forum-Beiträge: 675

16.09.2016 11:39:50 via Website

Hallo,
für meine App speichere ich benutzerdefinierte Einstellungen als SharedPreferences. Das geht auch sehr gut. Nun muss ich aber noch zusätzlich ein paar Werte speichern, die der Benutzer nicht ändern und auch nicht unbedingt sehen muss (abhängig von diesen Werten werden bestimmte Daten gespeichert bzw. gelesen).
Jetzt könnte ich diese Werte einfach in eine separate Datei schreiben, allerdings habe ich gelesen, dass es vorgesehen ist, diese auch als (Shared)Preferences zu speichern. Wer kann mir einen Hinweis auf ein gut verständliches (gerade für Anfänger) Beispiel geben, wie ich dafür vorgehen muss? Und vielleicht auch auf eine gute Erklärung zwischen SharedPreferences und Preferences? (Link reicht hier auch aus).
Dankeschön...und Gruss
G.-U.M.

N'y pas n'y
tu car tu
mal tu mal

Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 9.311

16.09.2016 13:41:34 via App

Zwischen Preferebces und SharedPreferences gibt es keinen unterschied.

Die Pereferences aus einem z.b. PreferenceFragment werden auch in den SharedPrefeences abgelegt.
Der User kann diese Preferences ohne Root auch nicht einsehen und verändern kann, vorausgesetzt es gibt keine Einstellungamöglichkeit in einem PreferenceFragment.

Mit root kann der User da schon einfluss nehmen, wenn er das nicht darf, musst du einen eigenen File nehmen und diesen verschlüsseln. Oder eine DB aber die könnte man auch lesen.

Im normalfall reichen Preferences wenn da keine PWs o.ä. drin stehen.

Speichern und auslesen geht so:
http://stackoverflow.com/questions/3624280/how-to-use-sharedpreferences-in-android-to-store-fetch-and-edit-values

LG Pascal //It's not a bug, it's a feature. :) ;)

  • Forum-Beiträge: 675

16.09.2016 14:05:15 via Website

Pascal P.

Zwischen Preferebces und SharedPreferences gibt es keinen unterschied.

Ok.

Pascal P.

Die Pereferences aus einem z.b. PreferenceFragment werden auch in den SharedPrefeences abgelegt.
Der User kann diese Preferences ohne Root auch nicht einsehen und verändern kann, vorausgesetzt es gibt keine Einstellungamöglichkeit in einem PreferenceFragment.

Verstanden. Da ich diese speziellen Werte ja auschließlich intern in meiner App verwende, gebe ich dem User auch keine Einstellmöglichkeit. Sehr schön.

Pascal P.

Mit root kann der User da schon einfluss nehmen, wenn er das nicht darf, musst du einen eigenen File nehmen und diesen verschlüsseln. Oder eine DB aber die könnte man auch lesen.

Wenn der User Root hat, dann ist er selbst "schuld", wenn er Werte für die App ändert ohne zu wissen was er tut. Sehe ich jetzt nicht als mein Problem dabei. Eine eigene Datei wollte ich ja grade vermeiden - wenn Android mir den Verwaltungsaufwand und damit einen Teil der Fehlerträchtigkeit bei so etwas abnehmen kann :) Und eine DB lohnt sich bei absehbar max. 5 Werten auch nicht wirklich

Pascal P.

Im normalfall reichen Preferences wenn da keine PWs o.ä. drin stehen.

Sind keine PWs. Nur Werte, die ich brauche, weil ich abhängig von diesen Werte bestimmte Dateien laden muss.

Pascal P.

Speichern und auslesen geht so:
http://stackoverflow.com/questions/3624280/how-to-use-sharedpreferences-in-android-to-store-fetch-and-edit-values

Sehr schön. Genau das was ich gesucht hab.
Ich meld mich.
Erstmal vielen Dank!

Gruss
G.-U.M.

N'y pas n'y
tu car tu
mal tu mal

  • Forum-Beiträge: 675

19.09.2016 10:35:27 via Website

Pascal P.

Speichern und auslesen geht so:
http://stackoverflow.com/questions/3624280/how-to-use-sharedpreferences-in-android-to-store-fetch-and-edit-values

So, wie versprochen, die Rückmeldung.
Das Speichern und Lesen der Preferences klappt soweit bzw. es hat sogar so gut funktioniert, dass ich gemerkt hab, dass ich noch einen grundlegenden Fehler (die Datei, um die es geht, konnte aufgrund fehlender Berechtigungen sowie einer wohl ab Android SDK23 erforderlichen Zusatzabfrage an den User nicht geschrieben werden, war also bei der späteren Prüfung auch nicht vorhanden) beseitigen musste.
Vielen Dank für die Unterstützung
Gruss
G.-U.M.

N'y pas n'y
tu car tu
mal tu mal