¿Cómo serializar Android Bundle para almacenamiento en red y / o persistente?

Tengo necesidad de serializar un estado de aplicación (juego) completo para ser transmitido a través de una red o guardado en disco y recuperado en un momento posterior.

Los paquetes, por supuesto, se utilizan para guardar / restaurar estados en varios casos de uso, por lo que su uso sería ideal. Sin embargo, por alguna razón, Bundle no es serializable.

La búsqueda de una solución sólo ha dado vuelta encima del hack inaceptable de dar vuelta al paquete en una parcela y después de ordenar eso, pero no es una solución aceptable porque no hay ninguna garantía que será posible unmarshall los datos en una fecha posterior o en Un dispositivo remoto.

Por lo que parece ahora, la única solución parece ser obtener el conjunto completo de claves del Bundle, obtener cada uno contenía objeto, hacer un switch / case bastante grande en cada Object.Class y construir manualmente un ByteBuffer gigante o similar de todos Estos datos, junto con el tamaño y el tipo de información con el fin de reconstruir con éxito todo el asunto en el otro lado.

No exactamente suave.

¿Alguien sabe de una mejor manera? Tal vez alguien ya ha creado una función de utilidad para Bundle que hace esto?

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.