SharedPreferences



Muchas aplicaciones que instalamos en nuestros teléfonos tienen las particularidad de que si es la primera vez que la ejecutamos nos da una serie de opciones, si ya la hemos ejecutado con anterioridad, nos ofrecerá otras opciones diferentes. Esto puede realizarse fácilmente con “shared preferences”.



Otro ejemplo de esta funcionalidad es la grabación de datos, quiero decir, pongamos el ejemplo de que estamos trabajando en una aplicación que va a poder ser ejecutada por algunos usuarios registrados y cada uno de ellos llevara una condición concreta. Lo más normal en estos casos es acceder a una base de datos, pero si estamos hablando de un número no muy elevado, podemos crear las características de cada usuario con “shared preference” ya que serán estas recordadas de forma permanente.

Es una opción muy cómoda si nuestra aplicación no lleva demasiados valores fijos, ya que nos puede ahorrar las conexiones con bases de datos.

Con las cuatro siguientes líneas estamos asignando al “shared preferences” llamado “settings” la propiedad de usar datos compartidos (getSharedPrefetences).
SharedPreferences settings = getSharedPreferences(“perfil”, MODE_PRIVATE);
Estamos indicándole que vamos a editar su valor (SharedPreferences.Editor)
SharedPreferences.Editor editor = settings.edit();
Y le estamos pasando el valor que queremos asignarle en forma de String (editor.putString)
editor.putString(“nombre”,nombre );
Ya tenemos nuestro valor “shared preferences” grabado.

En este punto es cuando vemos el segundo bloque, las recuperación de un valor.
Veamos el código de recuperación de un “shared preferences”, el que ejecuta nuestro botón “Muestra”
***
SharedPreferences settings = getSharedPreferences(“perfil”, MODE_PRIVATE);
String nombre = settings.getString(“nombre”, “valorpordefecto“);
Toast.makeText(elAndroideLibre.this, nombre, Toast.LENGTH_SHORT).show();
***
En primer lugar estamos, de igual forma que cuando grabamos un código, asignando la propiedad de compartir valores en nuestro “shared preferentes”
SharedPreferences settings = getSharedPreferences(“perfil”, MODE_PRIVATE);
Tras esto, vamos a indicar que lo que vamos a hacer es que “settings”, que es el nombre con el que hemos designado nuestro “sharedc preferences”, llame al valor “nombre”.
String nombre = settings.getString(“nombre”, “valorpordefecto“);
Y por último, por supuesto este paso no es necesario, vamos a mostrar nuestro valor guardado por pantalla con un mensaje Toast.
Toast.makeText(elAndroideLibre.this, nombre, Toast.LENGTH_SHORT).show();
Ya tenemos nuestro valor “shared preferences” mostrado.


No hay comentarios: