studio programacion herramientas fundamentos con avanzado aplicaciones android android-preferences

programacion - manual de android en pdf



Valor predeterminado de la preferencia de Android (3)

¿Cómo se obtiene el valor predeterminado de una preferencia de Android definida en XML? No quiero repetir la definición del valor predeterminado tanto en el código como en las preferencias XML.


Cree integer.xml bajo res/values para almacenar constantes enteras.

En la referencia prefereces.xml "@integer/default_brightness"

En el código context.getResources().getInteger(R.integer.default_brightness)


Primero debe definir los valores predeterminados en su archivo XML de preferencias. Luego puede rellenar las preferencias con los valores predeterminados en su Actividad principal llamando a:

PreferenceManager.setDefaultValues(this, R.xml.preference, false);

Cuando necesite recuperar alguna preferencia, simplemente llame:

int value = prefs.getInt("key", null);

Ya que tus preferencias están pobladas, no obtendrás un valor null .


Puede definir el valor predeterminado en recursos ( /values/bool.xml ):

<resources> <bool name="mypreference_default">true</bool> </resources>

Utilice el valor en preferences.xml :

<CheckBoxPreference android:defaultValue="@bool/mypreference_default" android:key="mypreference" android:title="@string/mypreference_title" />

Luego use en el código:

SharedPreferences p = PreferenceManager.getDefaultSharedPreferences(context); Boolean value = context.getResources().getBoolean(R.bool.mypreference_default); Boolean b = p.getBoolean("mypreference", value);