# Preferences und Datentypen



## hr3 (9. Feb 2015)

Hallo,
im Zusammenhang mit der Erstellung einer Andriod-App habe ich ein Problem mit den Datentypen.

Zur Verwaltung von Benutzer-Einstellungen verwende ich
.  PreferenceManager.setDefaultValues
.  PreferenceManager.getDefaultSharedPreferences
.  PreferenceFragment.addPreferencesFromResource bzw. PreferenceActivity.loadHeadersFromResource

Für den Test habe ich in der XML-Datei alle Varianten von inputType definiert u.A.:

.  android:inputType="number"
.  android:inputType="numberSigned"
.  android:inputType="numberDecimal"

Das funktioniert soweit einwandfrei.

Jetzt bin ich dabei über die Besonderheiten der Datentypen gestolpert.
Der Standard scheint hier auschließlich mit boolean und String zu arbeiten. Ich verwende bei put und get auch gezielt *float*, *int* und *long*.
Von mir mit numerischen Datentypen gespeicherte Werte kann ich auch so wieder abrufen. Allerdings sind diese nicht kompatibel zu numerischen (als String gespeicherten) Werten aus der XML-Definition und der Standard-EDIT-Funktion.
Ich habe nach Lösungsansätzen über die XML-Definition gesucht, aber neben
.  EditTextPreference
.  CheckBoxPreference
.  ListPreference
.  RingtonePreference
nicht entsprechendes gefunden, kann mir aber auch nicht vorstellen, dass diese Datentypen bei den Standardlösungen überhaupt nicht berücksichtigt wurden.
Mit *set<String>* hab ich noch nicht intensiv beschäftigt, aber auch dafür ist mir noch nichts über den Weg gelaufen.
Eine weitere Frage am Rande: Gibt es für die XML-Definition eine Möglichkeit einen numerischen Gültigkeitsbereich (min/max-value) zu bestimmen oder ist eine eigen Prüfung zu integrieren?

Es geht darum diese Anforderungen nicht selber zu programmieren, sondern die Standard-Edit-Routine auf Baisis der XML-Datei zu nutzen.


----------



## Zet (10. Feb 2015)

versuchs mal hier... Java-Forum ANDROID


----------

