是否可以将SQLiteDatabase转换为全局变量?

时间:2011-08-12 18:15:28

标签: android sqlite

这个想法是在整个APP上只使用一个连接,因为它几乎每次都会被使用。 是否可以获取SQLiteDatabase并将其转换为全局变量以在整个应用程序中使用?

我应该遵循哪种方式来制作它?

提前谢谢。

3 个答案:

答案 0 :(得分:2)

目前的两个答案说同样的事情,他们100%正确,但也许不解释整个事情。 在android框架中,您可以在Application类中放置您想要全局访问的任何变量和数据。 http://developer.android.com/reference/android/app/Application.html

您可以从任何活动调用getApplication(),它将返回您创建的应用程序实例。

然后,您可以通过向应用程序添加公共方法来使数据库可用。

最后你会做类似的事情:

SQLiteDatabase myDatabase = getApplication().getDatabase();

然后在Application类中填写getDatabase()方法。

稍微好一点的方法可能是创建一个管理数据库的类,并使该类成为应用程序的成员。这将允许您将所有打开的cloase和business与数据库封装在一个类中。然后,您可以使用应用程序类的方法从查询中传回游标等。

答案 1 :(得分:0)

您可以将DB的连接和访问放入Application类。这将允许您创建一个可在整个程序中使用的数据库连接单例。

答案 2 :(得分:0)

有两种方法可以执行此操作,创建自定义Application课程或使用Singleton