转自http://www.exiatian.com/?p=522
android项目中要使用SQLite时,我们会先新建一个类并继承sqliteopenhelper类,然后重写oncreate方法.
对于oncreate方法何时调用,让我们来分析下:
首先我们会创建我们的类(继承了sqliteopenhelper类的类)对象.
例如:DatabaseHelper dh = new DatabaseHelper(mContext,”数据库名”,null,DB_VERSION,CREATE_TABLE,TABLE_NAME);
当我们创建了DatabaseHelper并初始化后并不会调用oncreate方法.
必须用DatabaseHelper对象调用getWritableDatabase()或getReadableDatabase()方法后并且所创建的数据库是第一次创建才会调用oncreate方法.
也就是说我们在插入或更新数据库等操作时再调用getWritableDatabase()或getReadableDatabase()方法是不会再调用oncreate方法了,因为此时数据库已经被创建过了.
如果我们在oncreate方法中只写入了一条创建一张表的SQL语句,而之后我们还要向相同的数据库中新建表的话就不能再写在oncreate方法了…..只能自己写触发事件来新建表