本人看“第一行代码”这本书,看到sqlite升级数据库这个地方,发现比如要新增一张表,可以通过onUpgrade()方法中添加db.execSQL(**)语句完成,那么,为什么onCreate()方法也要添加这条语句?
如果在新的手机上安装,第一次安装时,执行的是onCreate中的,安装过后,后面更新才执行onUpgrade
onUpgrade()是升级的时候才调用
覆盖第一次安装和重复安装的两种使用环境
我们在使用sqlite创建数据库的时候会设置一个版本号,如果当前表结构不满足现在的需求需要修改表结构 同时还需要保持对旧版本的兼容,那就要增加数据库
的版本号,新版本安装的时候回判断本地有无数据库,没有执行oncreate创建新的,有的话判断版本号如果版本号如果不一致则会调用onUpgrade()方法在这里你可以删除掉旧表重新建表什么的,