序列化Android Bundle的networking和/或持久性存储?

我需要序列化一个全面的应用程序(游戏)状态,通过networking传输或保存到磁盘,并在以后检索。

捆绑包当然是用来在多个用例中保存/恢复状态的,所以使用它们将是理想的。 但是,由于某些原因,Bundle是不可序列化的。

寻找一个解决scheme只会使Bundle变成一个包裹,然后编组这个不可接受的破解,但这不是一个可以接受的解决scheme,因为不能保证能够在稍后的date或之后解组数据一个远程设备。

因此,现在看来,唯一的解决scheme似乎是从Bundle获取整套密钥,获取每个包含的对象,在每个Object.Class上执行一个相当大的开关/情况,并手动构build一个巨大的ByteBuffer或类似的这个数据,以及大小和types信息,以便成功地重build整个事物在另一边。

不完全平滑。

有谁知道更好的方法? 也许有人已经创build了一个Bundle的实用函数来做到这一点?

Solutions Collecting From Web of "序列化Android Bundle的networking和/或持久性存储?"