nombre - manual de programacion android pdf
Android: cómo establecer una preferencia en el código (3)
Asumo por preferencias que se refiere a las preferencias de su aplicación y no a la configuración del teléfono Android.
Para almacenar las preferencias entre las ejecuciones de su aplicación, debe hacer lo siguiente
Crear un objeto SharedPreferences
SharedPreferences settings = getSharedPreferences(String n, MODE_PRIVATE);
String n identifica sus preferencias y el segundo argumento es el modo al que se accederá
Crear una instancia de un objeto Editor
SharedPreferences.Editor editor = settings.edit();
Nota: no intente settings.editor.edit (), esto no hará un objeto persistente y el código siguiente no funcionará
Escribe tus preferencias al buffer
editor.put...(String, value)
Hay numerosas funciones put, putString, putBoolean, etc. La cadena es la clave ("versión", "buena ejecución") y el valor es el valor ("1.5.2", verdadero)
Vaciar el buffer
editor.commit();
Esto realmente escribe que pongas a las preferencias. Si su aplicación falla antes de esta línea, las preferencias no se escribirán. También hay un error documentado: se supone que commit () devuelve un valor booleano que indica éxito o falla. La última vez que lo revisé siempre devolvía falso.
Estas preferencias se almacenarán en el teléfono y solo serán accesibles para su aplicación.
Más documentación está aquí
Tengo una aplicación de Android en la que tengo mis preferencias en un archivo xml, que funciona bien. Ahora quiero establecer una de las preferencias usando el código en lugar de mostrar toda la pantalla de preferencias, ¿cómo voy a hacer esto?
Intenté esto pero no funcionó:
SharedPreferences settings = getSharedPreferences(String n, MODE_PRIVATE);
Pruebe esto en su lugar:
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
Puede guardar algo en las preferencias compartidas usando el código siguiente
public static void save(String valueKey, String value) {
SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(context);
SharedPreferences.Editor edit = prefs.edit();
edit.putString(valueKey, value);
edit.commit();
}
Para leer las preferencias:
public static String read(String valueKey, String valueDefault) {
SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(context);
return prefs.getString(valueKey, valueDefault);
}