Android – SharedPreferences con tipos complejos

Android

En el post anterior expliqué como crear un objeto SharedPreferences de tipo lista como ArrayList. En este caso, nos vamos a ir aún mas lejos y crearlo de un tipo complejo. Específicamente un modelo. Paso a explicar detalladamente.

Supongamos que tenemos un modelo User como el siguiente:

Nosotros podemos almacenar ese modelo en el local storage de Android. Si, leyeron bien. Pero no es magia, ya que como bien sabemos SharedPreferences no permite tipos complejos, pero si el tipo String. Y esto de que nos sirve? Bueno, como sabemos un JSON es un string con un formato y mediante una librería de parseo de datos llamada Gson podemos convertir ese modelo en un string json de la siguiente manera:

Como ven no es complicado. Creamos un objeto User y se la pasamos al metodo gson.toJson() que nos va a devolver el string parseado a json. Luego como cualquier preference, hacemos un putString al editor. Pero, cómo levantamos esto y lo devolvemos a su forma de modelo? Muy simple:

Obtenemos el json string de nuestras preferences y llamando al método fromJson y pasándole nuestro string mas la clase del modelo por parámetro, obtenemos nuestro modelo tal como lo guardamos. Si quieren otro ejemplo mas amplio sobre cómo funciona gson, miren el post Request Service con Volley.

Be the first to comment on "Android – SharedPreferences con tipos complejos"

Leave a comment

Your email address will not be published.


*