【问题标题】:how to avoid usage of static fields in activity and fragment如何避免在活动和片段中使用静态字段
【发布时间】:2015-10-16 08:44:40
【问题描述】:

我有一个由其他开发人员开发的项目。有很多公共静态字段、数组等。而且这个公共静态字段就像从任何地方(每个类)一样被调用。它会导致很多崩溃。我需要一些建筑方面的建议。无论如何,我需要重构所有这些代码。如何避免使用静态字段?我知道如何使用接口来做到这一点,尤其是在处理活动片段通信时。也许您可以为此目的推荐一些库?

【问题讨论】:

  • 没有任何代码,很难帮你。主要规则是“除非确实需要或它是常量,否则不要使用静态字段”......但是如何替换静态字段取决于它的用法。 Activity 之间的通信可以通过 Intent 的 bundle 来完成,但是偏好存储应该通过 SharedPreferences 来完成……

标签: android architecture static refactoring public


【解决方案1】:

您可以使用Dagger 2 进行依赖注入。

来自http://code.tutsplus.com/的介绍,这也是一个很好的匕首使用教程。

当您有一个对象需要或依赖另一个对象来完成其工作时,您就有了依赖关系。可以通过让依赖对象创建依赖关系或要求工厂对象创建依赖关系来解决依赖关系。然而,在依赖注入的上下文中,依赖项被提供给需要依赖项的类,以避免类本身创建它们的需要。通过这种方式,您可以创建松耦合且高度可维护的软件。

也请检查this tutorial 以获得更好的理解。

【讨论】:

  • 谢谢。我听到了一些关于匕首的负面反馈。它已经工作正常了吗?可以用于商业产品吗?
  • 它运行良好,是的,我们在许多大型商业项目中使用它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-28
  • 2016-11-06
相关资源
最近更新 更多