在使用SQLite数据库存储数据时,会遇到数据库版本升级的问题,初始版本时所设计的数据库结构,可能在以后的app版本中不够合理,需要新增或修改内容以适应新的需求,那么原来的数据库结构就不能用了,这时就需要对数据库进行升级处理。
针对数据库的升级,有两种方案,第一种是将旧的数据库卸载,再安装新的数据库,这种方式会造成数据丢失,对用户的体验感比较差,不是理想方案;第二种方案是在原有数据库基础上进行升级。
1、初始版本1.0
SQLiteOpenHelper的继承类里会运行onCreate()方法,不运行onUpgrade()方法;
2、第二个版本2.0
用户从1.0升级到2.0时,SQLiteOpenHelper的继承类运行onUpgrade()方法,不运行onCreate()方法。
用户直接安装2.0版本时,SQLiteOpenHelper的继承类里会运行onCreate()方法,不运行onUpgrade ()方法。
3、第三个版本3.0
用户从1.0升级到3.0时,SQLiteOpenHelper的继承类运行onUpgrade()方法,不运行onCreate()方法。
用户从2.0升级到3.0时,SQLiteOpenHelper的继承类运行onUpgrade()方法,不运行onCreate()方法。
用户直接安装3.0版本时,SQLiteOpenHelper的继承类里会运行onCreate()方法,不运行onUpgrade()方法。