为网络和/或持久存储序列化Android Bundle?

Hne*_*efi 8 android bundle

我需要序列化一个综合的应用程序(游戏)状态,通过网络传输或保存到磁盘并在以后检索.

当然,Bundles用于在几个用例中保存/恢复状态,因此使用它们将是理想的.但是,由于某种原因,Bundle不可序列化.

寻找一个解决方案只是出现了将Bundle转变为包裹然后编组的不可接受的黑客攻击,但这不是一个可接受的解决方案,因为无法保证可以在以后或之后解组数据.远程设备.

现在看来,唯一的解决方案似乎是从Bundle获取整个键集,获取每个包含的Object,在每个Object.Class上做一个相当大的开关/ case并手动构建一个巨大的ByteBuffer或类似的这些数据以及大小和类型信息,以便成功地重建另一方的整个事物.

不完全顺利.

有谁知道更好的方法?也许某人已经为Bundle创建了一个实用程序函数来执行此操作?

Ben*_*erg 1

好问题!我想知道您是否需要序列化整个捆绑包或仅序列化其中包含的信息?也许您只需要可以以任何类型(字符串、列表或数组)保存的信息。看一下java.io.Serialized的子类,它非常庞大。