需要访问对象全局,静态变量或应用程序contx

时间:2016-01-12 00:19:15

标签: android

我想让多个活动和多个其他类(非活动)访问一个对象。我读到标准的方法是使用应用程序上下文来存储这些全局变量。但是我发现这个问题是你必须总是找到这个应用程序上下文。在活动中它并不是那么糟糕,但如果你在非活动类中,那么你必须将上下文传递给它。有点痛。

我想到的另一个解决方案是创建一个静态变量,我可以从任何地方访问,但只是调用" className.Variable"

这样做是不是很糟糕?还有其他方法可行吗?

谢谢

2 个答案:

答案 0 :(得分:0)

制作"其他解决方案"静态类更灵活。没理由称之为“坏”'

答案 1 :(得分:0)

在这种情况下,您可以使用单例设计模式。它的工作方式就像魔术一样,因为您将对象包装到一个静态类中,该类最初将由JVM加载。但要密切注意线程,如果要从多个线程访问和修改对象状态,同时它可能会导致问题。在这种情况下,您需要synchronized或volatile修饰符来防止错误。希望这可以帮助。