android中的面向对象方法

时间:2013-02-23 23:56:01

标签: java android xml oop object

我正在尝试将游戏创建为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文件中的代码片段:

<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解析器并使用start属性和属性name =“Archer”拉取数据

我做得对吗?或者我的方法完全错了?

非常感谢。

1 个答案:

答案 0 :(得分:0)

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

如果这是你的意图,那么XML对于制作保存的文件是个好主意。我不会在Archer.java的构造函数中解析整个事情 - 但这似乎相当武断。我建议使用一个专门用于处理已保存文件的单独类。

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

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