Cuando creo actividad de preferencia, defino todas las preferencias en el archivo xml. Cada preferencia tiene una clave definida en este xml. Pero cuando accedo a la preferencia que escribo:Dónde almacenar las claves de preferencia de Android?
SharedPreferences appPreferences = PreferenceManager.getDefaultSharedPreferences(this);
boolean foo_value = appPreferences.getBoolean("foo_key_defined_in_xml", false);
¿Hay alguna manera de evitar la referencia a "foo_key_defined_in_xml" en forma codificada? ¿Quizás hay una posibilidad de referenciarlo en estilo R (no para referirse a la cadena)?
Esta es la mejor manera, ya que le permite cambiar la clave en un solo lugar y se propagará a la página de configuración y a cualquier lugar al que haga referencia en el código. –
No recomendaría esto porque cuando admite archivos XML de múltiples idiomas, la cadena clave también puede traducirse inadvertidamente. –
Bueno, debe guardar esas claves en un archivo diferente que solo contenga valores estáticos y ninguna traducción. – Hameno