在Application子类中声明对象的缺点是什么?

时间:2012-12-21 14:32:19

标签: design-patterns android

我需要存储一个将从数据库中获取数据的ArrayList,我正在考虑在类中声明ArrayList是android.app.Application类的子类,因为我经常需要这个用于搜索,排序等目的在我的申请中。

1. It would be good approach to create get the Database instance in Application subclass.   
2. Storing a list in the Application subclass.

我不确定这是正确的方法,我想知道这种方法的缺点是什么。 建议是否可以使用其他方法。

3 个答案:

答案 0 :(得分:1)

我不相信有任何缺点,尽管您必须在清单上声明您的应用程序。

但你可以很容易地达到相同的结果,创造一个单身,恕我直言,这是一个更清洁的方式。

修改

我刚看到你的编辑,我正在编辑我的答案:

同样的事情发生在DB对象上。使用单身人士!在第一次访问时,您打开数据库。

答案 1 :(得分:1)

如果我理解正确,您可以设置一个类来处理数据库操作,然后在需要时创建对该类的引用,传递您需要的任何参数。如果您需要,可以使用函数返回ArrayList。根据您的需要,您可以将其作为需要它们的活动中的接口来实现。

答案 2 :(得分:0)

在决定是否使用Singleton设计模式与Android提供的Application类之前,您应该考虑一些事项。

您可能会发现一些可能有助于您在这些SO帖子中选择的论据:

这是一个关于Android数据库的精彩教程: