Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何正确构造java代码?_Java_Android - Fatal编程技术网

如何正确构造java代码?

如何正确构造java代码?,java,android,Java,Android,我正在创建一个android应用程序。这是我正在创建的第一个“真正的”android应用程序,我对Java也是新手。我以前从未用OOP创建过任何程序,所以我对事物的结构有点困惑。我有一些PHP的经验,但我最初学会了使用程序化(内联?)的Turbo Pascal编程 无论如何。。。情况如下: 主要活动-这是控制我拥有的实际Android应用程序的活动 类ScoreClock-这是我有以下方法的地方: public ScoreClock // initialize all the fields(va

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

无论如何。。。情况如下:

  • 主要活动-这是控制我拥有的实际Android应用程序的活动
  • 类ScoreClock-这是我有以下方法的地方:

    public ScoreClock // initialize all the fields(variables) within the ScoreClock class.
    public getMinutes(long ms)  // take ms remaining and calculate minutes left.
    public getSeconds(long ms)  // take ms remaining and calculate seconds left.
    
  • 现在。。。我正在考虑添加
    public void updateBoard()
    ,用于将所有值更新到实际记分板。我感到困惑的是。。。updateBoard()方法应该进入MainActivity.java文件还是ScoreClock.java文件

    updateBoard方法将访问android字段/变量并更改TextView等的值,因此我认为它应该放在MainActivity.java中


    有人能澄清一下吗?

    一个好的开始是用图表

    我想你的活动类是相当长和复杂的,从你在问题中给出的信息来看,我猜你有某种游戏板,听起来像是一个潜在的重构项目


    尽管这本书不是最佳或最权威的设计指南,但它提供了良好的入门级信息和帮助。

    所有更新UI元素的代码都会出现在活动或视图中。您无法从POJO访问任何这些内容。听起来你,像很多人一样,正在尝试做一个游戏。我建议你先学Java,然后学Android,然后试着做一个游戏。不要从像游戏这样复杂的事情开始。

    我想你开始的时候有点太超前了,浏览一下oop、关注点分离和mvc;无论如何,考虑到您的问题-updateBoard()方法不应该在您的ScoreClock类中,它应该在您的Activity类中,在本例中,它扮演控制器。

    我不是在创建游戏。实际上,应用程序本身非常简单。这是一个篮球记分板应用程序。因此,单击分数,它将递增。按住它可重置一个值。时钟从8分钟倒计时到0,完成后会发出嗡嗡声。我想你使用这个类可能会更简单。它有一个回调,您可以使用它来更新UI,然后您就可以处理分数了。我对MVC体系结构有点熟悉,但我只对涉及OOP/MVC的PHP脚本进行过黑客攻击。因此,我一开始并不确定如何设置它。请查看此链接,它可能会为您解决一些问题: