【发布时间】:2017-04-19 14:00:44
【问题描述】:
我正在开发一个由 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 来存储和传递游戏变量是否方便,还是太过分了?最好的方法是什么?我错过了什么吗?提前谢谢!
【问题讨论】:
-
你会怎么做呢?当然你会使用一个对象。
-
您错过了
Parcel文档的部分内容,该部分说明它不是用于持久存储...在活动之间传递 - 好的,但如果您想使用一些持久存储,那么使用 Parcel/Parcelable 不是一个选项
标签: java android android-intent parcelable