greenDAO的使用详解---(2)greenDAO3.2.2数据库的升级
来源:互联网 发布:手机怎样制作软件 编辑:程序博客网 时间:2024/05/16 14:26
greenDAO的使用详解—(2)greenDAO3.2.2数据库的升级
1.使用的工具
国外程序员网站stackoverflow上面提供的MigrationHelper.java类做数据库升级。
说明:该类有点小bug,后面会介绍解决方案。
2.原理说明
1.应用程序启动的时候,根据需要升级的表创建新的临时表
2.将需要更新表的数据迁移到临时表中
3.删除更新前的表,重命名临时表
3.数据库升级(以下内容需要结合第一篇文章,greenDAO的使用详解—(1)greenDAO的配置和增删改查)
- 由于升级数据库需要在DevOpenHelper类的onUpgrade()方法里面继续,因此我们需要自定义一个类继承DevOpenHelper重写onUpgrade()方法
注意:在onUpgrade()方法中可以不调用父类的onUpgrade()方法,因为做数据库升级的时候已经在MigrationHelper中调用了父类的onUpgrade()方法中的内容 - 在初始化数据库的时候用自定义的MyDevOpenHelper类替换原来的DevOpenHelper类
- 修改在项目根目录build.gradle文件中配置的数据库版本号(新版本号一定要比老版本大)
- 在onUpgrade()方法调用数据库升级方法
migrate()方法说明:在我们保存数据库的bean对象中,有多少个bean对象的属性字段发生改变,我们就在改方法中传入改变的bean的Class - 升级测试-在第一篇文章中创建的User类中新增加一个属性字段,测试数据保存情况。
- 其他相关说明
如果我们没有在onUpgrade()方法中调用数据库升级方法,而是直接调用父类onUpgrade()方法,用户安装我们的新版本应用时候,原来保存在数据库中的数据都没有,相当于我们删掉了原来的数据库,创建一个新数据库。
4.遗留问题(解决方案,请查看下一篇文章)
- 当我们测试升级的是,在User中增加一个int属性测试时。就会以下错误:
5.代码下载地址
源码下载,请点击这里
阅读全文
0 0
- greenDAO的使用详解---(2)greenDAO3.2.2数据库的升级
- greenDAO的使用详解---(3)greenDAO3.2.2数据库的升级bug解决
- greenDAO的使用详解---(4)greenDAO3.2.2结合sqlcipher加密数据库
- Android数据库GreenDAO3.2.2的使用(四、数据库升级)
- Android数据库GreenDAO3.2.2的使用(三,GreenDao操作外部数据库----操作.db数据库)
- GreenDao3.2.2集成使用以及数据库的升级
- GreenDao3.0+的配置使用以及数据库升级
- Android数据库框架——GreenDao3.2的配置 升级
- (二)GreenDao3.0的数据库升级
- 开源框架greenDao的使用(二)-greenDao3
- greenDAO3.2的使用
- GreenDao3.2的使用
- greenDAO3.2的使用
- greendao3.2.0的使用及升级
- Android数据库GreenDAO3.2.2的使用(二,数据库使用)
- GreenDao数据库的使用
- GreenDao数据库的使用
- GreenDao(数据库)的使用
- python configparser 中文支持问题
- git常用整理
- C++中用zout输出八进制或者十进制数据
- Singleton模式
- 关于在ImageView上添加Button,但是点击没反应
- greenDAO的使用详解---(2)greenDAO3.2.2数据库的升级
- bzoj1853: [Scoi2010]幸运数字(容斥原理)
- (转)图解WPF程序打包全过程
- windows下的纯c++版 Faster-Rcnn
- windowSoftInputMode
- javascript复习总结——语句
- windows socket编程入门示例3
- spring IOC底层原理实现
- 转发: selenium之 chromedriver与chrome版本映射表(更新至v2.33)