2

我的应用程序有一个服务,我MainActivity有一个static变量:

public static boolean appIsPlaying = false;

我的服务代码是这样的:

MainActivity.appIsPlaying = false;

这段代码运行良好,但我不确定它是否正确。那么,如果这个解决方案有问题,你会帮助我吗?

谢谢

4

2 回答 2

10

我真的不同意那些说让我们对所有事情都使用 getter 和 setter 的人,这就是解决方案。您的解决方案很简单,但很有效。服务和活动本身之间的这种通信方式没有问题。这不是一些公共 API,因此使用公共字段并不是绝对的禁忌。

只有当您必须满足某些要求时,才会出现问题。这个 from of 交互是最简单的,因此它不能做太多事情。例如,如果你想监听改变值的事件,那么你会遇到问题,因为你只是设置了值,并没有通知活动。

如果是这种情况,那么您可以绑定到服务,并实现更复杂的交互。可以通过将侦听器存储在服务中并在发生更改时通知它们来侦听值更改。

没有真正方法可以做到这一点,有更合适的方法和更少的方法。您必须根据需要选择其中之一。

于 2012-04-20T13:55:32.690 回答
2

将您的静态变量放在实用程序类中,并创建具有所需验证的静态 getter 和 setter。制作类 Single Instance 也是首选,但您做对的事情并非没有问题。

于 2012-04-20T12:29:14.597 回答