Android中SQLiteOpenHelper类的onUpgrade方法的作用
来源:互联网 发布:淘宝回收十字绣可靠吗 编辑:程序博客网 时间:2024/05/22 17:07
Andoird的SQLiteOpenHelper类中有一个onUpgrade方法。帮助文档中只是说当数据库升级时该方法被触发。经过实践,解决了我一连串的疑问:
1. 帮助文档里说的“数据库升级”是指什么?
你开发了一个程序,当前是1.0版本。该程序用到了数据库。到1.1版本时,你在数据库的某个表中增加了一个字段。那么软件1.0版本用的数据库在软件1.1版本就要被升级了。
2. 数据库升级应该注意什么?
软件的1.0版本升级到1.1版本时,老的数据不能丢。那么在1.1版本的程序中就要有 地方能够检测出来新的软件版本与老的数据库不兼容,并且能够有办法把1.0软件的数据库升级到1.1软件能够使用的数据库。换句话说,要在1.0软件的数 据库的那个表中增加那个字段,并赋予这个字段默认值。
3. 程序如何知道数据库需要升级?
SQLiteOpenHelper类的构造函数有一个参数是int version,它的意思就是指数据库版本号。比如在软件1.0版本中,我们使用SQLiteOpenHelper访问数据库时,该参数为1,那么数据库版本号1就会写在我们的数据库中。
到了1.1版本,我们的数据库需要发生变化,那么我们1.1版本的程序中就要使用一个大于1的整数来构造SQLiteOpenHelper类,用于访问新的数据库,比如2。
当我们的1.1新程序读取1.0版本的老数据库时,就发现老数据库里存储的数据库版本是1,而我们新程序访问它时填的版本号为2,系统就知道数据库需要升级。
4. 何时触发数据库升级?如何升级?
当系统在构造SQLiteOpenHelper类的对象时,如果发现版本号不一样,就会自动调用onUpgrade函数,让你在这里对数据库进行升级。根据上述场景,在这个函数中把老版本数据库的相应表中增加字段,并给每条记录增加默认值即可。
新版本号和老版本号都会作为onUpgrade函数的参数传进来,便于开发者知道数据库应该从哪个版本升级到哪个版本。
升级完成后,数据库会自动存储最新的版本号为当前数据库版本号。
- Android中SQLiteOpenHelper类的onUpgrade方法的作用
- Android中SQLiteOpenHelper类的onUpgrade方法的作用
- Android中SQLiteOpenHelper类的onUpgrade方法的作用
- Android中SQLiteOpenHelper类的onUPgrade()方法的作用
- Android中SQLiteOpenHelper类的onUpgrade方法的作用
- Android中SQLiteOpenHelper类的onUpgrade方法浅谈
- sqlite数据库中SQLiteOpenHelper类的onUpgrade方法
- android sqlite升级表SQLiteOpenHelper的onUpgrade方法重复调用的问题
- SQLiteOpenHelper的onCreate和onUpgrade的区别
- SQLiteOpenHelper的oncreate与onupgrade的理解
- Android SQLiteOpenHelper onUpgrade使用注意事项
- android开发(24)使用SQLiteOpenHelper的onUpgrade实现数据库版本升级
- Android数据库onCreate() onUpgrade() onDowngrade()的执行时间、作用、注意事项
- 使用SQLiteOpenHelper的onUpgrade实现数据库版本升级
- Android SQLiteOpenHelper 的作用及使用
- Android SQLiteOpenHelper Sqlite数据库升级onUpgrade
- Android中数据库升级onUpgrade方法说明
- Android中数据库升级onUpgrade方法说明
- 第47篇白板修复之铅笔选择三种粗细(一)
- 学生成绩管理系统及开发
- Mybatis 入门学习教程一
- 小博老师解析Java核心技术 ——JSwing键盘监听事件
- Unreal Engine 4 —— 版本兼容的工作原理以及一些可优化项
- Android中SQLiteOpenHelper类的onUpgrade方法的作用
- VC++ 多媒体函数简介
- Linux常用指令
- poj 2398 Toy Storage (计算几何)
- 华为手机权限开启方法4
- 不懂ios软件发布,想问问怎样免越狱安装app打包好的软件
- Deploying Rocket.Chat on Ubuntu
- Unreal Engine 4 —— 使用反汇编来确定该进行优化的地方
- CSS中display:inline、block、inline-block的区别