En android se puede almacenar información de diversas maneras. Para grandes cantidades de datos se dispone de bases de datos mediante sqlite. Para guardar pequeñas configuraciones o datos únicos, la plataforma pone a nuestra disposición la clase SharedPreferences.
SharedPreferences almacena información accesible desde cualquier actividad de la aplicación, y permanece almacenada a pesar de que salgamos de la misma.
A continuación se muestra un ejemplo de cómo utilizarlo. En este caso, gracias a las preferencias podremos saber si hemos entrado alguna vez en la aplicación previamente o no. Esto puede ser útil cuando es preciso que, la primera vez que se ejecute la aplicación, instale y configure ciertos elementos.
El código con los comentarios se puede observar a continuación:
package com.dagova.sharedPreferencesExample;
public class defaultActivity extends Activity
{
private static String INITIALIZED = "initialized";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//Obtiene el objeto de preferencias de la aplicacion llamado settings. Podeis indicar el nombre que querais.
SharedPreferences sharedPreferences = getApplicationContext().getSharedPreferences("settings", 0);
//Obtiene un booleano almacenado en las preferencias de nombre initialized. El segundo parametro indica el valor a devolver si no lo encuentra, en este caso, falso.
boolean initialized = sharedPreferences.getBoolean(INITIALIZED, false);
if(initialized == false)
{
//Codigo que queramos que se ejecute unicamente la primera vez que se lance la aplicacion.
//Obtenemos el editor de las preferencias.
SharedPreferences.Editor editor = sharedPreferences.edit();
//Le indicamos que queremos que almacene un booleano de nombre initialized con valor true. Existen putInt, putString...
editor.putBoolean(INITIALIZED, true);
//Tras haber indicado todos los cambios a realizar (en nuestro caso solamente uno), le indicamos al editor que los almacene en las preferencias.
editor.commit();
}
//Codigo que queramos que se ejecute siempre.
}
}


