转载:http://blog.csdn.net/jiangwei0910410003/article/details/46536329
SqliteOpenhelper会检测数据库是否存在,如果存在则打开这个数据库。这种情况下就不会调用oncreate方法。如果数据库文件不存在,那么SqliteOpenhelper会先建立数据库,
然后打开这个库。最后调用oncreate方法。oncreate方法一般用来在新建的数据库中创建表,视图、等数据库的组件。
也就是说oncreate方法在数据库第一次创建的时候调用。
数据库有升级和降级的方法。降级的方法实现非常简单,直接抛出异常,提示数据库不能降级。
如果数据库文件存在,并且当前版本号,高于老版本号,那么会调用onupdate方法。调用
数据的降级,
http://www.cnblogs.com/zhaoyucong/p/6118226.html
在数据进行降级的时候,需要重写
@Override
public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// super.onDowngrade(db, oldVersion, newVersion);
}
Sqlite的默认实现是直接抛出异常。所以此处需要按照业务逻辑,重新实现。