Android保存并使对象脱机

时间:2015-05-14 15:24:55

标签: java android

对于我的申请,我有以下结构(简化)

models
-->GameType1Model : GameType
-->GameType2Model : GameType
-->Game
   //has object : ArrayList<GameType> mGanetypes

abstractclasses
-->GameType

activitys
-->MainActivity
-->Gametype1
-->Gametype2
-->PlayGame
      // has method : start(Game)

游戏可以包含多个gameType模型。可以使用start(游戏)在playGame活动中启动游戏,并使用游戏对象知道要开始的GameType活动。 gameTypeModels包含不同的值,如int score,ArrayList等。

应用程序可以有多个游戏(在列表中)。

我的目标是保存游戏,以便用户在重新启动手机后能够继续游戏。如果我想这样做,这意味着我必须能够在玩游戏时更新gameTypeModels并保存包含gameTypeModel的游戏模型。

我的想法

我需要在MainActivity中加载游戏,以便我能够选择游戏。

我需要能够在每个GameType中编辑数据。

我应该如何保存我的数据,这样可以轻松地继续游戏并在游戏中保存特定GameType的数据?

游戏可以离线播放,所以我必须使用本地数据/存储

1 个答案:

答案 0 :(得分:0)

保存对象脱机的Java代码(序列化)

<强> serialStore.java

import java.io.FileOutputStream;
import java.io.ObjectOutputStream;

public class serialStore {

    public static void main(String arg[]) {
        app a = new app();
        a.name = "example text to store.";
        try {
            FileOutputStream fos = new FileOutputStream("D:\\abc.txt");
            ObjectOutputStream oos = new ObjectOutputStream(fos);
            oos.writeObject(a);
            oos.close();
            fos.close();
            System.out.println("Serializarion done and data saved in file.");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

class app implements java.io.Serializable {
    public String name;
}