import android.preference.PreferenceManager;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
// then you use
prefs.getBoolean("keystring", true);
actualización
Según Shared Preferences | Android Developer Tutorial (Part 13) por Sai Gita M N,
Muchas aplicaciones pueden proporcionar una manera de capturar las preferencias del usuario en los configuración de una aplicación específica o una actividad. Para admitir esto, Android proporciona un conjunto simple de API.
Las preferencias son típicamente pares de valores de nombres. Se pueden almacenar como "Preferencias compartidas" entre varias actividades en una aplicación (nota actualmente no se puede compartir entre procesos). O puede ser algo que debe almacenarse específico para una actividad.
Preferencias compartidas: Las preferencias compartidas pueden ser utilizados por todos los componentes (actividades, servicios, etc) de las aplicaciones.
Preferencias de manejo de actividades: estas preferencias solo se pueden usar dentro de la actividad particular y no pueden ser utilizadas por otros componentes de la aplicación.
Preferencias compartidas:
Las preferencias compartidas son gestionados con la ayuda de getSharedPreferences
método de la clase Context
. Las preferencias se almacenan en un archivo predeterminado (1) o puede especificar un nombre de archivo (2) que se utilizará para hacer referencia a las preferencias.
(1) La forma recomendada es utilizar el modo por defecto, sin especificar el nombre del archivo
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
(2) Así es como se obtiene la instancia cuando se especifica el nombre del archivo
public static final String PREF_FILE_NAME = "PrefFile";
SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE);
MODE_PRIVATE
es el modo de funcionamiento para las preferencias. Es el modo predeterminado y significa que solo se accederá al archivo creado desde la aplicación de llamada. Otros dos modos admitidos son MODE_WORLD_READABLE
y MODE_WORLD_WRITEABLE
. En MODE_WORLD_READABLE
, otra aplicación puede leer el archivo creado pero no puede modificarlo. En el caso de MODE_WORLD_WRITEABLE
, otras aplicaciones también tienen permisos de escritura para el archivo creado.
Por último, una vez que tenga la instancia preferencias, aquí es cómo se puede recuperar los valores almacenados de las preferencias:
int storedPreference = preferences.getInt("storedInt", 0);
Para almacenar valores en el archivo de preferencias SharedPreference.Editor
objeto tiene que ser utilizado . Editor
es una interfaz anidada en la clase SharedPreference
.
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference); // value to store
editor.commit();
Editor también es compatible con métodos como remove()
y clear()
suprimir los valores de preferencia del archivo.
Preferencias
Actividad:
Las preferencias compartidas pueden ser utilizados por otros componentes de la aplicación. Pero si no necesita compartir las preferencias con otros componentes y desea tener preferencias privadas de actividad, puede hacerlo con la ayuda del método getPreferences()
de la actividad. El método getPreference
utiliza el método getSharedPreferences()
con el nombre de la clase de actividad para el nombre de archivo de preferencia.
siguiente es el código para obtener preferencias
SharedPreferences preferences = getPreferences(MODE_PRIVATE);
int storedPreference = preferences.getInt("storedInt", 0);
El código para almacenar valores es también el mismo que en el caso de las preferencias compartidas.
SharedPreferences preferences = getPreference(MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference); // value to store
editor.commit();
También puede utilizar otros métodos como almacenar el estado de la actividad en la base de datos. Nota Android también contiene un paquete llamado android.preference
. El paquete define clases para implementar la IU de preferencias de la aplicación.
Para ver algunos ejemplos más, consulte la publicación Data Storage de Android en el sitio de desarrolladores.
+1: u salvó mi día .. ninguno de los tutoriales/ejemplos en Internet habla de esto. todo lo que hablan abt características y personalizaciones, pero no cómo leerlo. – ankitjaininfo
por cierto, ¿cuál es el "nombre" del archivo en este caso? – ankitjaininfo
Ver mi actualización de la respuesta, y el nombre del archivo es algo así como 'package.prefs', pero no estoy seguro. – Pentium10