Las preferencias de las aplicaciones son formas de guardar datos simples (cadenas de texto, numeros, quizas algun q otro array tambien de datos simples) en la memoria del telefono y sin usar la base de datos..

Sirven para guardar configuraciones del usuario o algun dato nuestro q es importante pero no tanto para ponerlo en una bd

Se levantan asi:

SharedPreferences prefs; / mejor si la hacemos global esta variable!

prefs = PreferenceManager.getDefaultSharedPreferences(this);
/ siempre tenemos q levantarlas cuando queremos acceder asi obtenemos datos frescos, por si cambiaron en algun momentos...

String twitter=prefs.getString("TWITTER", "off");
String tw_user=prefs.getString("TW_USER", "null");

  • El primer parámetro es el KEY, tengan cuidado y usen el mismo, mejor si ese parametro es una variable final y nos olvidamos d chequear nuestra ortografía, el segundo es lo q devolvera si no encuentra esa preferencia para luego comparar y accionar a nuestro antojo...

Se guardan asi:

SharedPreferences.Editor editor = prefs.edit();
editor.putString("TWITTER", "on");
editor.commit();

No hay mucho q explicar o si?

Recomendaciones:

  • meter todos los "levantamientos" de preferencias en un método, aunque sea un solo hay q ponerlo en un método...nunca se sabe cuanto puede crecer nuestra app
  • saber cuando tenemos q guardar los datos (cuando salimos de esas actividad o app, cambio de contexo, onpause, onresume o cuando cambia la orientación, muejejejejejejeej