0

我需要存储一个将从数据库中获取数据的 ArrayList,我正在考虑在作为 android.app.Application 类的子类的类中声明 ArrayList,因为在我的应用程序中我经常需要这个来进行搜索、排序等目的.

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

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

4

3 回答 3

1

尽管您必须在清单上声明您的应用程序,但我认为没有任何缺点。

但是您可以轻松地创建一个单例来实现相同的结果,恕我直言,这是一种更清洁的方式。

编辑:

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

同样的事情也发生在 DB 对象上。使用单例!并在第一次访问时打开数据库。

于 2012-12-21T14:39:40.540 回答
1

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

于 2012-12-21T14:41:34.113 回答
0

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

您可能会在这些 SO 帖子中找到一些可以帮助您选择的论点:

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

于 2012-12-21T14:52:23.617 回答