我目前正在构建一个利用Android中的SQLite数据库的应用程序,我知道在我的SQLiteOpenHelper子类中覆盖“onCreate”时会设置这些表。
但是,我希望使用一组默认信息创建数据库,并想知道插入它的常规位置是什么?我应该在onCreate中使用SQL执行此操作,还是稍后通过检查诸如“onFirstRun”之类的首选项并使用我的Helper类在某个Activity中的某个值中插入某些值?
任何帮助/提示都会赞赏,欢呼。
答案 0 :(得分:0)
我通常在类扩展SQLiteHelper的类的OnCreate上添加默认数据,因为它只执行一次(除非你卸载应用程序)并且它非常简单明了:
public class XXX extends SQLiteOpenHelper {
String sqlCreate = "CREATE TABLE X (codigo INTEGER, nombre TEXT)";
String sql ="Insert into X ....";
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(sqlCreate);
db.execSQL(sql);
}
答案 1 :(得分:0)
如果您尚未发布已存储的应用程序,最好在onCreate of SQLiteOpenHelper中插入默认信息。如果已经发布,则通过进行必要的验证在SQLiteOpenHelper的onUpgrade中执行。这样,与db相关的所有代码都保持在一起,您可以优雅地管理升级方案。