保存游戏(Android应用程序。)

时间:2011-11-10 16:29:36

标签: java android save pickle

这是一个悬而未决的问题。

我正在为Android开发一个简单的游戏,我已经到了我试图让用户保存进度并稍后返回的地步。

由于我是初学者,我不确定从哪里开始,所以我希望你们中的一些人可能至少有一些建议。

关于游戏设置的一些信息:

所有动画都是通过画布在线程中完成的,并基于30 ms循环交替存储的位图帧。

一切都是对象,角色,背景只是一个二维的对象数组。每个对象通常通过hashmap动态引用和创建。

现在如何保存?我知道我可以强制它,只需为每个地图中的每个对象保存坐标和当前动作等等等。

但有更好的方法吗?我简要地读过,在python中有一种消毒对象的方法叫做#34; pickle,"并且有类似的叫做" kryo。"我正朝着正确的方向前进吗?

2 个答案:

答案 0 :(得分:2)

你应该研究Java serialization。它并不完美,它有问题,但它是将一个复杂的对象树转换成可以保存到文件或数据库的最安全,最快捷的方法,并在需要时加载它。

否则,总是可以使用INSERT SQL查询等来使用您自己的特定序列化。但是要非常小心,很容易错过要保存/恢复的部分内容。其中一个例子是将对象树转换为XML并将该XML保存为文件。有很好的第三方库可以将对象映射到XML,然后再用Java格式化。

答案 1 :(得分:0)

嗯..那不是灭绝,而是SERIALIZATION ..这是一种编程技术。序列化也是您想要使用的技术。

如果您使用预定义的方法或您自己编写的内容无关紧要,但唯一重要的是循环遍历对象并写入文件(或保存结构)以后需要的日期重新加载。

无论如何,是的,你看起来正确。

最好的方法是实现序列化接口。调用 serialize ()方法的每个对象必须保存它的数据,然后为它拥有的每个子对象调用 serialize ()方法。