1

我正在寻找在我目前正在开发的Android项目中实现SQLite数据库。令我惊讶的是,似乎创建这个的唯一方法是在Activity代码本身。 (我用Java和本地数据库上次的经验与德比,这是我没有在代码中创建一个本地文件。)Android项目生命周期 - 活动生命周期之前(Activity.onCreate())

我的问题是,有什么我可以挖掘到的第一个活动的onCreate之前发生()?我将把它和Windows窗体应用程序联系起来,在这里你可以在启动Form(Activity等价物)之前访问Main()。

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

+1

您可以有一个单独的启动器活动,检查然后启动您的主要活动。 –

+2

您可以使用应用程序的[onCreate](https://developer.android.com/reference/android/app/Application.html)方法 – Androiderson

+0

@ Androiderson我相信这是我正在寻找的。如果你想回答这个问题,我会把它作为接受的答案。 –

回答

1

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

1

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