Android – SharedPreferences con tipos lista

android volley request library

SharedPreferences es un concepto muy feliz en nuestras aplicaciones. La idea de poder guardar ciertos datos persistentes incluso cuando la aplicación cierra, nos permite manejar cosas geniales como nuestras propias sesiones de usuario, autocompletar campos de edición o guardar algún token para reutilizarlo en un request. Pero de repente surge la necesidad de guardar una lista de elementos. Esto nos obliga automáticamente a trabajar con la otra cara del local storage, SQLite.

No digo que sea malo, pero es complicado de implementar y actualizar. Sería más interesante poder tratar un SharedPreferences como un ArrayList, entonces trataríamos el dato como un array y no una tabla en base de datos. Pero la verdad es que SharedPreferences sólo acepta tipos de datos primitivos (int, boolean, float, entre otros) y String. Entonces es hora de usar una librería compuesta por una sola clase, llamada TinyDB.

Si bien en GitHub explican el uso, vamos a verlo en un sentido más práctico. Primero hay que crear la variable e instanciarla pasándole el contexto:

Luego, supongamos que tenemos un ArrayList y se lo pasamos con una clave, como haríamos con el Shared normal:

Ya lo tenemos guardado! Si lo queremos obtener, solo tenemos que hacer un get como el siguiente:

Como ven, es muy simple. En los próximos posts voy a explicarles como guardar modelos de datos enteros en SharedPreferences.

 

Leave a comment

Your email address will not be published.


*