我正在开发一个简单的 Android 游戏,其中包含一个 MainActivity 和一个 GameActivity。在 MainActivity 中,用户可以选择一些选项,然后使用这些选项/变量(即游戏模式、游戏难度等)开始游戏
Intent gameIntent = new Intent(this, GameActivity.class);
gameIntent.putExtra("gameMode", 3);
startActivity(gameIntent);
因为我有很多变量要存储(准确地说是 26 个),而且 Java 是面向对象的,所以我考虑使用我自己的 Game 类来存储和检索所有变量,如下所示:
public class Game implements Parcelable {
private int gameMode;
private int gameDifficulty;
// Constructor
public Game(int gameMode, int gameDifficulty) {
this.gameMode = gameMode;
this.gameDifficulty = gameDifficulty;
}
// getters and setters here
}
并将其作为 Parcelable 放入我的 Intent 中:
Game myGame = new Game(gameMode, gameDifficulty);
Intent gameIntent = new Intent(this, GameActivity.class);
gameIntent.putExtra("game", myGame);
startActivity(gameIntent);
我的问题是:使用对象来存储和传递游戏变量是否方便,还是太过分了?最好的方法是什么?我错过了什么吗?提前致谢!
最佳答案
当然,在对象中保存设置是个好方法。如果您有多个 Activity 依赖于该对象,那么您应该考虑使用单例缓存它,并将其保存到内部存储中。 如果您有一项 Activity 依赖于设置(就像我猜的您的情况),则可以使用实现 Parcelable 的类并将该类的实例通过 Intent 传递给 GameActivity。
关于java - Android:使用对象存储游戏变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43497956/