2012-12-11 38 views
0

我正在创建一个android应用程序。这是我创建的第一个“真正的”android应用程序,我也是Java的新手。我从来没有用OOP创建任何程序,所以我对事物的结构有点困惑。我有一些PHP的经验,但我最初学会了使用程序化(内联?)的Turbo Pascal进行编程。如何正确构造我的java代码?

反正...这里的情况是:

  1. 主要活动 - 这是控制实际的Android应用程序,我有活动。
  2. 类ScoreClock - 这是我有以下几种方法:

    ​​

现在......我想加入public void updateBoard()的这将是更新所有值的实际记分牌。我感到困惑的是...应该updateBoard()方法进入MainActivity.java文件或ScoreClock.java文件吗?

updateBoard方法将访问android字段/变量和更改TextViews等的值,所以我想它应该放在MainActivity.java中。

有人请澄清?

回答

0

所有用于更新UI元素的代码都进入Activity或View本身。您无法访问POJO中的任何内容。这听起来像你一样,正在尝试制作一款游戏。我建议你先学习Java,然后再学习Android,然后尝试制作游戏。不要从像游戏那样复杂的事情开始。

+0

我没有创建游戏。其实应用程序本身很简单。这是一款篮球记分牌应用程序。所以点击分数就可以增加。按住它重置一个值。时钟从8分钟倒数到0,完成后蜂鸣。 –

+1

我认为使用[CountDownTimer](http://developer.android.com/reference/android/os/CountDownTimer.html)类可能会更简单。它有一个可以用来更新UI的回调函数,然后你可以处理得分。你应该可以通过一个单独的活动来完成它,而不需要其他类。 – toadzky

0

一个开始的好地方是图。

我想你的活动课很长很复杂,从你提出的问题中得到的信息来看,我猜测你有某种游戏板,这听起来像是一个潜在的重构项目。

试一下这本书http://www.headfirstlabs.com/books/hfdp/虽然它不是最好的或最权威的指南设计它提供了很好的入门级信息和帮助。

0

我猜你开始有点太遥远了,通过浏览一下,分离问题和mvc;无论如何,考虑到你的问题 - updateBoard()方法不应该在你的ScoreClock类中,它应该在你的Activity类中扮演控制器的角色。

+0

我对MVC架构有些熟悉,但只是通过涉及OOP/MVC的PHP脚本破解了我的方式。所以,首先不确定如何设置它。 –

+1

看看这个链接,它可能会为你清除一些东西:http://mindtherobot.com/blog/675/android-architecture-message-based-mvc/ –