lunes, 16 de septiembre de 2019

Shared Preferences: ¿Cómo guardar la configuración de la aplicación Flutter y las preferencias del usuario para su posterior reutilización?

El articulo original en inglés es de Didier Boelens y lo encuentras aquí.
Este articulo describe las nociones de Shared Preferences que le permite a las aplicaciones Flutter (Android o iOS) guardar configuraciones, propiedades y datos en la forma de pares clave-valor, el cual serán persistentes incluso cuando el usuario cierra la aplicación.
Los Shared Preferences son almacenados en formato XML.
Shared Preferences es específica de la aplicación, es decir, los datos se pierden al realizar una de las siguientes opciones:
  • Al desinstalar la aplicación.
  • Al limpiar los datos de la aplicación.

Uso Principal

El uso principal de Shared Preferences es guardar las preferencias de los usuarios, configuraciones, tal vez datos (si no es muy grande) para que la próxima vez que la aplicación sea lanzada, estas piezas de información podrían ser recibidas y usadas.

Visión general de la API

La documentación completa puede ser encontrada en el Repositorio de paquetes de Flutter.

1. Getters

Set < String > getKeys() Retorna todas las claves.
dynamic get(String key) Retorna el valor, asociado con la correspondiente clave.
bool getBool(String key) Retorna el valor boolean, asociado con la correspondiente clave. Si el valor no es un boolean, lanza una excepción.
int getInt(String key) Retorna el valor integer, asociado con la correspondiente clave. Si el valor no es un integer, lanza una excepción.
double getDouble(String key) Retorna el valor double, asociado con la correspondiente clave. Si el valor no es un double, lanza una excepción.
String getString(String key) Retorna el valor string, asociado con la correspondiente clave. Si el valor no es un string, lanza una excepción.
List getStringList(String key) Retorna un conjunto de valores string, asociado con la correspondiente clave. Si el valor no es un conjunto de valores string, lanza una excepción.

2. Setters

Future < bool > setBool(String key, bool value) Guarda un valor boolean y asociado con la clave.
Future < bool > setInt(String key, int value) Guarda un valor integer y asociado con la clave.
Future < bool > setDouble(String key, double value) Guarda un valor double y asociado con la clave.
Future < bool > setString(String key, String value) Guarda un valor string y asociado con la clave.
Future < bool > setStringList(String key, List value) Guarda una lista de valores string y asociado con la clave.

3. Removal

Future < bool > remove(String key) Remueve los pares-clave asociados con la clave.
También, en cualquier setter, el hecho de pasar un valor nulo, corresponde a llamar a eliminar (clave).
Future < bool > clear async Remueve todos los pares-clave enlazados al paquete de la aplicación.

Cómo usarlo?

pubspec.yaml

En el archivo pubspec.yaml, añada el shared_preferences a la lista de dependencias, como sigue:


Uso Práctico
El siguiente trozo de código simula una clase que necesita negociar con una preferencia de usuario (por ejemplo, permitir notificaciones, orden de clasificación).

Conclusiones

Como usted puede ver, es sencillo utilizar este paquete.
El código anterior solo pretende mostrar cómo invocar el paquete. En la práctica, es más probable que no tenga un getter/setter por configuración …
Tenga en cuenta que los Shared Preferences no están cifrados, por lo tanto, no se recomienda colocar datos confidenciales, como una contraseña, por ejemplo.
Estén atentos para nuevos artículos y feliz codificación.

No hay comentarios.:

Publicar un comentario