2 qq 14836003 qq_14836003 于 2016.03.21 16:13 提问

Android sqlite更新,本人新手菜鸟

本人看“第一行代码”这本书,看到sqlite升级数据库这个地方,发现比如要新增一张表,可以通过onUpgrade()方法中添加db.execSQL(**)语句完成,那么,为什么onCreate()方法也要添加这条语句?

4个回答

danielinbiti
danielinbiti   Ds   Rxr 2016.03.21 16:21

如果在新的手机上安装,第一次安装时,执行的是onCreate中的,安装过后,后面更新才执行onUpgrade

u010237531
u010237531   2016.03.21 17:07

onUpgrade()是升级的时候才调用

hou_weiyi
hou_weiyi   2016.03.22 10:04

覆盖第一次安装和重复安装的两种使用环境

ruilyzhu
ruilyzhu   2016.03.23 10:32

我们在使用sqlite创建数据库的时候会设置一个版本号,如果当前表结构不满足现在的需求需要修改表结构 同时还需要保持对旧版本的兼容,那就要增加数据库
的版本号,新版本安装的时候回判断本地有无数据库,没有执行oncreate创建新的,有的话判断版本号如果版本号如果不一致则会调用onUpgrade()方法在这里你可以删除掉旧表重新建表什么的,

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!