entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Android: Como almacenar un LinkedHashMap en un Bundle?

Hola, tengo un LinkedHashMap con objetos customizados, y necesitaría almacenarlo en un bundle, para cuando la aplicación cambia de estados pueda recuperar los datos, sin tener que llenarlo cada vez, no se muy bien si se hace como un Parcelable o Serializable, y si se hace por alguno de los dos tipos de datos, como seria la implementación?

1 Respuesta

2votos

alex_alvarez Puntos2160

Buenas! en otro foro he encontrado esto, yo no soy ningún experto en Android, pero espero que te pueda servir de ayuda.

try as:

Bundle extras = new Bundle();
extras.putSerializable("HashMap",Hash_Map); 
intent.putExtras(extras);

and in second Activity

Bundle bundle = this.getIntent().getExtras();  
if(bundle!=null){   
   Hash_Map= bundle.getSerializable("HashMap"); 
}

becuase Hashmap by default implements Serializable so you can pass it using
putSerializable in Bundle and get in other activity using
getSerializable

0voto

Leonardo-Tadei comentado

Serializarlo para guardarlo y pasarlo a la otra activiadd es una muy buena solución!

0voto

mordorq3 comentado

ok, lo probaré, muchas gracias!!

0voto

mordorq3 comentado

Gracias por tu respuesta alex_alvarez, solo que esto es serializable cuando la colección de HashMap contiene objetos nativos como por ejemplo Strings, pero cuando es de tipo customizado, por ejemplo si yo quisiera almacenar objetos "Persona" dentro de este HashMap y pasarlos de esta manera (Serializando), no funciona. Para ese caso hay que pasarlo de manera distinta, actualmente estoy utilizando una clase intermedia, lo que hace es una vez que la instancio me crea un objeto gigante con distintos tipos de colecciones dentro, y lo unico que voy haciendo es igualando y accediendo a sus propiedades, esto me permite almacenar estos objetos (HashMap) y los accedo cuando los necesito.
Pero a pesar de esto, muchas gracias igualmente!

0voto

Leonardo-Tadei comentado

Hola Hernán,

en realidad, podés hacer que cualquier Objeto sea serializable implementado la interfaz Serialize en tu propio Objeto.

Sería una solución muy elegante para este problema!

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta