Android项目生命周期 - 活动生命周期之前(Activity.onCreate())

时间:2017-01-23 01:09:41

标签: android sqlite android-activity android-lifecycle activity-lifecycle

我希望在我目前正在处理的Android项目中实现SQLite数据库。令我惊讶的是,似乎创建它的唯一方法是在Activity代码本身。 (我在Java和本地数据库方面的最后一次经历是使用Derby,这是我在代码中没有创建的本地文件。)

我的问题是,在第一个活动的onCreate()之前有什么我可以利用的吗?我会将此与Windows Form应用程序联系起来可以在启动Form(活动等效项)之前访问Main()。

如果我必须在程序代码中创建数据库,我想在活动开始之前检查它是否已经存在,只有一次。

3 个答案:

答案 0 :(得分:1)

有,但你不需要。 SQLite数据库(内置于Android中)只是本地文件系统上的文件。现在,您通常通过ORM层或通过SQliteOpenHelper访问它们,它们是数据库的Java接口。当你打开它时,你只需告诉它文件的位置。通常你有一个单独的open helper或ORM层类,所以没有per-Activity设置 - 你只需要在构造函数中抛出你需要的任何东西,并让Singleton在任何Activity最终创建它时处理它。

答案 1 :(得分:1)

recommended way of using a database是使用SQLiteOpenHelper,它会在您第一次尝试访问时自动创建它。 (并且还处理更新。)

答案 2 :(得分:1)

您可以使用应用程序的onCreate方法在应用程序启动时(即任何活动之前)运行任何代码。