Android: Clase Java para Preferencias

Blog >Lista Soluciones > Shared Preferences



Gestion de preferencias para Android usando Shared Preferences


Buenas, hoy traigo una clase Java para gestionar preferencias de un entero, pero he de aclarar, como sólo veo ejemplos en .net de guardar y cargar preferencias en una actividad, tengo que destacar que es UNA CLASE JAVA de apoyo para guardar enteros especificamente, no es actividad, no hace falta ni declararla como actividad ni tocar el Androidmanifest.xml.

Ejemplos de lo que os comento os los podeis encontrar aquí:
www.sgoliver.net
www.ajpdsoft.com
 
Los links anteriores tratan de una actividad dedicada exclusivamente a manejar las preferencias dentro de la actividad, sin embargo esta clase, es de apoyo para llamarla desde cualquier actividad para manejar las SharedPreferences


import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
public class preferencias extends Activity{
 private Context context;
 //MODO DE PREFERENCIAS
 int mode=MODE_PRIVATE;
 /**
  *  MODE_PRIVATE. Sólo la aplicación tiene acceso a estas preferencias.
     *MODE_WORLD_READABLE. Todas las aplicaciones pueden leer estas preferencias, pero sólo esta puede modificarlas.
     *MODE_WORLD_WRITABLE. Todas las aplicaciones pueden leer y modificar estas preferencias.
  */
 int numero;
  // TODO Auto-generated method stub
  public preferencias(Context context){
   this.context=context;
   if(context!=null){
    SharedPreferences PREFERENCIAS = context.getSharedPreferences("pref", 0);
   }
  }
  protected void savePreferences(int num){
   //Instancio la preferencia
   SharedPreferences PREFERENCIAS=context.getSharedPreferences("pref",mode);
   //Para editar las preferencias
   SharedPreferences.Editor editor=PREFERENCIAS.edit();
   //inserto en preferencia(nombre indice, valor);
   editor.putInt("numero", num);
   //Cierro edición
   editor.commit();
  }
  protected int loadPreferences(){
   //Instancio la preferencia
   SharedPreferences PREFERENCIAS=context.getSharedPreferences("pref",mode);
   //recojo valor
   numero=PREFERENCIAS.getInt("numero", 0);
   System.out.println("NUMERO= "+numero);
   return numero;
  }
}
Ahora bien, desde el MainActivity o desde la clase que la queramos llamar, debemos pasarle el contexto al constructor, para que pueda funcionar, sino lo hacemos así, dará un horroroso NullPointerExcepcion....

 Context context=this;
 preferencias pref;
 pref=new preferencias(context);



Podeis descargar el código fuente de thebestandroide con sólo compartir en facebook,twitter,linkedin o suscribirte a nuestro canal RSS más abajo. 



Compartir Compartir Compartir Compartir




1 comentario:

  1. MODE_MULTI_PROCESS: no suele usarse, puede servir cuando la aplicación tiene múltiples procesos, para "comunicación" entre ellos.

    ResponderEliminar