繁体   English   中英

警告Android用户,应用程序更新可能导致旧应用程序版本丢失数据?

[英]Warning Android user that app update could lead to losing data from old app version?

我正在为Android编写游戏。 当用户完成一个级别时,如果他们输了,他们可以从下一个级别重新开始(即,我需要存储一个整数以记住他们到达的级别)。 如果应用在播放过程中中断,我会将世界状态保存到磁盘(这是存储地图和游戏实体的复杂状态)。

我想将来保留我的选项,以更改游戏代码以及保存/存储世界状态的方式。 但是,我必须考虑以下情况:用户在手机中拥有旧版本的世界状态,因为他们正在玩游戏,他们升级了应用程序,现在应用程序无法加载世界状态。

如果有某种方法可以避免这种情况,那么不得不编写代码将旧版本的数据迁移到新版本的数据将很痛苦。 如果我能以某种方式要求用户在更新之前完成他们当前的游戏,那就太好了。 能做到吗? 还有其他选择吗?

我不打算经常这样做。 我想迭代开发自己的游戏,同时获得一些早期反馈,但是如果我必须确定现在如何保存和恢复世界状态,这将很困难。

我希望这似乎不是一个愚蠢的问题,但是在PC或游戏机上,拥有无法在游戏中保存或只能在关卡之间保存的游戏是完全可以的。 我在这里发现Android有点痛苦,因为您必须为所有游戏制定保存游戏策略。

您不能阻止用户升级应用程序,并且在安装(或升级)应用程序之前不能执行任何代码。

坦率地说,由于升级而丢失数据是不可接受的。 如果您使用SQLiteOpenHelper,则会自动获得漂亮的挂钩,以帮助您进行升级。

我了解您有一个非常复杂的存档游戏设置,但请尝试使其尽可能保持灵活性以方便升级。 有很多技术可以帮助您。

Android和PC完全不同-在PC上,您要坐下来玩几个小时。 在Android上,您可以快速玩游戏,然后再执行其他操作。 或者,您玩游戏并接到电话,被迫退出游戏。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM