【问题标题】:Object oriented approach in androidandroid中的面向对象方法
【发布时间】:2013-02-23 23:56:01
【问题描述】:

我正在尝试将游戏创建为 Android 中的自我开发项目。它会变得相当复杂,所以我想我应该得到一些建议。我知道一种解决方案有很多方法,但是,如果我的方法是对/错或如何使它变得更好,我们深表感谢。

我正在尝试设计一款中世纪时代的策略游戏,比如王国、文明等。

这是我目前的项目结构:

A main java class called Units.java with basic attributes like HitPoints, Attack, etc.
A few other classes called Quarry.java, SwordsMan.java, Archer.Java which extends Units.java
A main activity called Game.java which extends Activity class and will create instances of SwordsMan.java, Archer.java, Quarry.java

现在,我有一个名为 data.xml 的 xml 文件,它以节点格式存储每件事的数据。这是 XML 文件中的代码 sn-p:

<building id="0" name="Barracks" hp="1000" attack="0" armor="3" range="0">
   <cost wood="175"/>
      <unit id="0" name="Archer" hp="70" attack="13" armor="1" range="4">
        <cost food="60" gold="20"/>
      </unit>
</building>

所以现在,我正在使用由 Archer.java 类的构造函数调用的方法解析这个 XML 文件...它使用 SAX 解析器并使用起始元素和属性名称 = "Archer" 提取数据.

我做得对吗?还是我的方法完全错误?

非常感谢。

【问题讨论】:

  • 好的,但是为什么要使用 XML 进行存储呢?您为什么不将信息保存在字段或其他内容中...
  • 你可能是对的,我不确定,我做游戏,我使用 opengl,把所有东西都放在课堂上,我是个初学者,我看到了你的最后一个,我从来没有用过 saxparser,但祝你好运制作游戏的许多不同方法
  • 我不知道为什么要使用 XML 来保存信息...也许因为它以节点格式保存。我想为此使用简单的数据库,但是,一位朋友建议使用 XML。什么是更好的方法?使用 XML 是一种相当好的方法吗?

标签: java android xml oop object


【解决方案1】:

.java 文件的 OO 设计看起来很棒。

如果这是您的意图,XML 将是制作保存文件的好主意。不过,我不会在 Archer.java 的构造函数中解析整个内容 - 这似乎相当随意。我建议一个单独的类专门用于处理保存的文件。

对于 XML 与数据库,这取决于您打算如何使用保存的数据。如果您将全部内容读入或一次全部写出,则两者都可能是合适的。将 XML 文件保存到 SD 卡可以轻松共享已保存的游戏。如果您预见到仅更改部分内容以保存和恢复活动游戏的状态,那么您应该使用数据库,因为使用 XML 您每次都必须重新编写整个文件。

请记住,在 Android 中,您的应用应随时处理终止(例如,如果用户在游戏过程中接到电话)。然后它应该在重新启动时提供良好的用户体验,而不会丢失游戏的进度。

【讨论】:

    猜你喜欢
    • 2014-08-24
    • 2011-04-29
    • 2010-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-22
    • 1970-01-01
    • 2011-09-23
    相关资源
    最近更新 更多