您应该能够SharedPreferences
在您的游戏的 Android 后端读取旧版本(您可以在其中使用任意 Android 代码)。
您需要使用 Libgx“平台特定代码”方法进行设置,以便您的共享代码可以调用 Android 代码。(有关更多详细信息,请参阅 wiki 页面:https ://code.google.com/p/libgdx/wiki/ApplicationPlatformSpecific )。
有几种方法可以构建它,但我认为您应该首先创建一个包含方法的接口,例如upgradeOldPreferences
. 将实现该接口的类的引用传递到ApplicationListener
每个后端的构造函数中(该类在其他后端是无操作的)。在 Android 后端,您需要检查“新”首选项以查看是否需要转换现有首选项。如果您这样做了,请使用 Android 特定SharedPreferences
代码阅读它们。您可以在 Android 后端使用 Libgdx API,因此您可以写出 Libgdx 首选项,或者只是将结果数据传回您的游戏(例如,作为接口方法的返回值)。此时,您可能希望在新首选项中保留一个标志,说明您已经转换了旧首选项。
或者,您可以依靠 Android 上的 LibgdxSharedPreferences
用作其后端的事实(请参阅AndroidPreferences.java),并更直接地将旧首选项迁移到 Libgdx 使用的格式中。