Android数据库插入初期

时间:2011-12-21 20:48:36

标签: android database sqlite insert

我想在开头为我的应用程序插入所需的数据,我将使用这些数据。我想插入一次,并且必须没有重复。因此,在“onCreate”中,我这样做:如果表的行数(例如学生等)为0,我正在插入学生。我不认为这是最好的方法。因此,我想了解是否有更好的方法。

1 个答案:

答案 0 :(得分:5)

如果您希望在安装时填充数据库,而不是在任何其他时间填充数据库,那么您唯一合理的选择是将预先填充的数据库打包为您的APK作为内置资源。这样可以简化您的应用。

或者,如果您为数据库实施SQLiteOpenHelper,那么您在SQLiteOpenHelper.onCreate(SQLiteDatabase)期间插入的任何内容都只会在您第一次运行应用时插入,或者当有人清除您应用的所有数据时(无论如何都或多或少地让你重新安装。当您调用其中一个SQLiteOpenHelpergetWritableDatabase()方法来获取数据库引用时,getReadOnlyDatabase()超类知道是否运行创建代码。

值得注意的是,Android实际上并不像桌面软件那样运行安装程序。如果您需要进行任何设置工作,您需要能够检测并记住您的应用程序何时运行。