【问题标题】:Multiple activities using methods from a single class使用来自单个类的方法的多个活动
【发布时间】:2014-04-11 02:21:16
【问题描述】:

这更像是一个问题,在我开始编写最终无法正常工作的代码之前,我想看看我的想法是否正确。让我看看我是否可以解释我首先要做什么。我的主要问题是想知道我是否走在正确的轨道上。

我正在使用页面查看器和片段创建游戏,因此我可以使用选项卡式布局。这不是问题。我感到困惑和转身的地方是我有多个活动,每个活动处理游戏的不同部分,这样我就可以避免在任何时候在屏幕上显示太多。我曾希望将所有游戏方法放在一个类中,并从中提取每个活动。如果课程是私人的,我可以这样做吗?我假设如果我有一个 GAME 类,例如,我必须在某处实例化它的特定版本,但如果我这样做了,我怎么能确定一切都是从同一个实例中提取的?

我想到的另一种方法基本上只是制作一个可以完成所有工作的游戏类,然后根据需要将变量值吐出到各种活动中,然后更新 UI。那会是更好的方法吗?我想如果我这样做,我可以避免将数据直接从一个活动传递到下一个活动。我可以让他们都直接从类中提取他们需要的任何值。

这有什么意义吗,还是我在左外野的某个地方出路?任何开始的方向都会有所帮助,因为我这几天一直在尝试绘制某种路线图。

【问题讨论】:

    标签: android class android-fragments android-activity organization


    【解决方案1】:

    听起来您想将所有游戏逻辑放入一个 Game 类中,并让您的所有活动都访问该单个 Game 实例。答案是肯定的,这可能是正确的方法和更简单的方法,然后尝试让您的活动通过 Intents 传递数据。

    您可以使用单例模式在任何地方访问同一个实例。 (类似这样)

    public class Game {
        private static final Game INSTANCE = new Game();
    
        private Game() {}
    
        public static Game getInstance() {
            return INSTANCE;
        }
    }
    

    或者,如果您使用像 Dagger 这样的依赖注入框架,您可以将游戏提供者标记为提供单例。 (如果你不知道这是什么,现在就使用上面的单例模式)

    【讨论】:

    • 是的!哦,上帝是的!谢谢!我确实在其他地方看到了类似效果的东西,但它似乎与我在这里所做的完全不一样,所以我不确定同样的方法是否可行。这比我最初要做的要好。你可能挽救了我的理智,现在我可能真的可以睡觉了!
    • 删除了我之前的评论,因为我意识到了答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多