Android 项目生命周期 - 在 Activity 生命周期之前 ( Activity.onCreate() )
Android Project Lifecycle - before Activity Lifecycle ( Activity.onCreate() )
我希望在我目前正在进行的 Android 项目中实现 SQLite 数据库。令我惊讶的是,创建它的唯一方法似乎是 Activity 代码本身。 (我最后一次使用 Java 和本地数据库是使用 Derby,这是一个我没有在代码中创建的本地文件。)
我的问题是,在第一个 Activity 的 onCreate() 之前有什么我可以利用的吗? 我会把它与 Windows 表单应用程序,您可以在启动表单之前访问 Main()(相当于 Activity)。
如果我必须在程序代码中创建数据库,我想在活动开始之前检查它是否已经存在,仅一次。
有,但您不需要。 SQLite 数据库(内置于 Android)只是本地文件系统上的文件。现在您通常通过 ORM 层或 SQliteOpenHelper 访问它们,它们是数据库的 Java 接口。当你打开它时,你只需告诉它文件在哪里。通常你有一个开放助手或 ORM 层 class 的单例,所以没有 per-Activity 设置 - 你只需将你需要的任何东西扔到那里的构造函数中,然后让单例在任何情况下处理它Activity 最终创建了它。
recommended way of using a database 是使用 SQLiteOpenHelper
,它会在您第一次尝试访问它时自动创建它。 (并且还处理更新。)
您可以使用应用程序的 onCreate 方法 运行 应用程序启动时的任何代码(即在任何 Activity 之前)。
我希望在我目前正在进行的 Android 项目中实现 SQLite 数据库。令我惊讶的是,创建它的唯一方法似乎是 Activity 代码本身。 (我最后一次使用 Java 和本地数据库是使用 Derby,这是一个我没有在代码中创建的本地文件。)
我的问题是,在第一个 Activity 的 onCreate() 之前有什么我可以利用的吗? 我会把它与 Windows 表单应用程序,您可以在启动表单之前访问 Main()(相当于 Activity)。
如果我必须在程序代码中创建数据库,我想在活动开始之前检查它是否已经存在,仅一次。
有,但您不需要。 SQLite 数据库(内置于 Android)只是本地文件系统上的文件。现在您通常通过 ORM 层或 SQliteOpenHelper 访问它们,它们是数据库的 Java 接口。当你打开它时,你只需告诉它文件在哪里。通常你有一个开放助手或 ORM 层 class 的单例,所以没有 per-Activity 设置 - 你只需将你需要的任何东西扔到那里的构造函数中,然后让单例在任何情况下处理它Activity 最终创建了它。
recommended way of using a database 是使用 SQLiteOpenHelper
,它会在您第一次尝试访问它时自动创建它。 (并且还处理更新。)
您可以使用应用程序的 onCreate 方法 运行 应用程序启动时的任何代码(即在任何 Activity 之前)。