我需要存储一个将从数据库中获取数据的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.
我不确定这是正确的方法,我想知道这种方法的缺点是什么。 建议是否可以使用其他方法。
答案 0 :(得分:1)
我不相信有任何缺点,尽管您必须在清单上声明您的应用程序。
但你可以很容易地达到相同的结果,创造一个单身,恕我直言,这是一个更清洁的方式。
修改强>
我刚看到你的编辑,我正在编辑我的答案:
同样的事情发生在DB对象上。使用单身人士!在第一次访问时,您打开数据库。
答案 1 :(得分:1)
如果我理解正确,您可以设置一个类来处理数据库操作,然后在需要时创建对该类的引用,传递您需要的任何参数。如果您需要,可以使用函数返回ArrayList
。根据您的需要,您可以将其作为需要它们的活动中的接口来实现。
答案 2 :(得分:0)
在决定是否使用Singleton设计模式与Android提供的Application类之前,您应该考虑一些事项。
您可能会发现一些可能有助于您在这些SO帖子中选择的论据:
这是一个关于Android数据库的精彩教程: