Java Android:使用对象存储游戏变量
我正在开发一个简单的Android游戏,包括一个MainActivity和一个GameActivity。在主活动中,用户可以选择一些选项,然后使用这些选项/变量(即游戏模式、游戏难度等)开始游戏 因为我有很多变量要存储(准确地说是26个),而且Java是面向对象的,所以我考虑使用我自己的游戏类来存储和检索所有变量,如下所示:Java Android:使用对象存储游戏变量,java,android,android-intent,parcelable,Java,Android,Android Intent,Parcelable,我正在开发一个简单的Android游戏,包括一个MainActivity和一个GameActivity。在主活动中,用户可以选择一些选项,然后使用这些选项/变量(即游戏模式、游戏难度等)开始游戏 因为我有很多变量要存储(准确地说是26个),而且Java是面向对象的,所以我考虑使用我自己的游戏类来存储和检索所有变量,如下所示: public class Game implements Parcelable { private int gameMode; private int g
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
}
把这当作包裹放在我心里
Game myGame = new Game(gameMode, gameDifficulty);
Intent gameIntent = new Intent(this, GameActivity.class);
gameIntent.putExtra("game", myGame);
startActivity(gameIntent);
我的问题是:使用对象来存储和传递游戏变量是方便还是过分了?最好的方法是什么?我错过什么了吗?提前谢谢你 当然,在对象中保存设置是一个好方法。如果您有多个依赖于该对象的活动,那么您应该考虑使用SuntLon缓存它,并将其保存到内部存储。
如果您有一个依赖于设置的活动(比如我猜您的情况),那么可以使用实现Parcelable的类,并通过Intent将该类的实例传递给GameActivity 否则你会怎么做?当然你会使用对象。你错过了
packet
文档中告诉你它不是用于持久存储的部分。。。在活动之间传递-可以,但如果您想使用一些持久性存储,则不能使用包裹/包裹
Game myGame = new Game(gameMode, gameDifficulty);
Intent gameIntent = new Intent(this, GameActivity.class);
gameIntent.putExtra("game", myGame);
startActivity(gameIntent);