我正在开发一个由MainActivity和GameActivity组成的简单Android游戏。在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放入我的意图中:
Game myGame = new Game(gameMode, gameDifficulty);
Intent gameIntent = new Intent(this, GameActivity.class);
gameIntent.putExtra("game", myGame);
startActivity(gameIntent);
我的问题是:使用Object来存储和传递游戏变量是否方便还是超过顶部?什么是最好的方法?我错过了什么吗?提前谢谢!
答案 0 :(得分:2)
当然,对象中的保存设置是很好的方法。如果您有多个依赖于该对象的活动,则应考虑使用单例缓存它,并将其保存到内部存储。 如果你有一个依赖于设置的活动(比如我猜你的情况),可以使用实现Parcelable的类并通过Intent将该类的实例传递给GameActivity。