对于涉及数据库的App,用户不可能手动地去给创建数据库文件,所以需要在第一次启用App的时候就创建好数据库表。而当应用进行升级需要修改数据库表的结构时,这个时候就需要对数据库表进行更新。对于这两个操作,安卓提供了SQLiteOpenHelper的两个方法,用onCreate()与onUpgrade()来实现。
方法解析:
(1)onCreate(database):首次使用软件时生成数据库表。
(2)onUpgrade(database、oldVersion、newVersion):在数据库的版本发生变化时会被调用,一般在软件升级时才需改变版本号,而数据库的版本是由程序员控制的,假设数据库现在的版本是1,由于业务的变更,修改了数据库表结构,这时候就需要升级软件,升级软件时希望更新用户手机里的数据库表结构,为了实现这一目的,可以把数据库版本设置为2 或者其他与旧版本号不同的数字即可。
代码示例:
MainActivity.java文件中的onCreate方法:
代码解析:(www.xing528.com)
上述代码第一次启动应用,会创建一个mydb的文件,并且会执行Activity的onCreate()里的方法。创建一个Students的表,它有4个字段,主键_id和name、sex、age字段。接着如果修改mydb的版本号,那么下次启动就会调用onUpgrade()里的方法,往表中再插入一个字段。
具体流程:
步骤1:自定义一个类继承SQLiteOpenHelper类。
步骤2:为该类提供一个构造方法。
步骤3:重写onCreate()方法创建表结构。
步骤4:重写onUpgrade()方法定义版本号发生改变后执行的操作。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。