onCreate(SQLiteDatabase db);
用户初次使用软件时生成数据库表
当调用SQLiteOpenHelper的getWritableDatabase()或者getReadableDatabase()方法获取用户操作数据库的SQLiteDatabase实例的时候,如果数据库不存在,Android系统会自动生成一个数据库,接着会调用onCreate()方法,onCreate()方法在初次生成数据库时才会被调用。onCreate()方法里可以生成数据库表结构及添加一些应用使用到的初始化数据。
onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion);
该方法会在数据库版本发生变化时被调用,一般需要在软件版本需要升级时才会改变版本号。
getWritableDatabase();
getReadableDatabase();
这2个方法可以获取一个用于操作数据库的SQLiteDatabase实例。但是getWritableDatabase()方法以读写的方式打开数据库,一旦数据库的磁盘空间满了,数据库就只能读而不能写,若使用getWritableDatabase()打开数据库就会出错。getReadableDatabase()方法,先以读写方式打开数据库,如果数据库磁盘空间满了,就会打开失败,当打开失败后会继续尝试以只读方式打开数据库。