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. } }
muy buen post, me sirvio mucho
Buen post!! Gracias!
Gracias me fue muy útil.
Gracias por ayudarnos, los que más sabéis, a los menos expertos