Android 数据库的升级降级操作

本文详细探讨了Android中SQLite数据库的升级和降级操作,包括升级时的表结构修改和数据插入,降级时的策略设计,如用户数据保留、降低维护成本,以及如何处理降级过程中可能出现的问题。同时,提到了onCreate、onUpgrade和onDowngrade的执行时机,并给出了具体的代码示例。
摘要由CSDN通过智能技术生成

一、SQLite升级和降级需要考虑的细节

              ①  SQLite升级:

                             v3.0数据库版本 [onUpgrade 情况:n-1,onCreate 情况:1]
                              1. v1.0 -->v3.0 onUpgrade 
                                    alter table t_message add column isdel bit default 0;
                                       插入数据
                             2. v2.0 -->v3.0 onUpgrade 
                                       alter table t_message add column isdel bit default 0;
                             
3. 没有安装过 onCreate()

 

              ② SQLite 降级:

                                降级由于情况太多,复杂所以我们只做数据库V3.0降级到数据库V2.0:

                                                  降级的设计关键点
                              1、考虑云端要保存用户【自定义数据、行为习惯】。专业术语profile-->>提高用户黏度
                              2、考虑[当前]的最低版本要求-->>降低维护成本
                              3、尽可能本地的数据转移(所有新版本,都不删除字段)-->尽可能把未知变已知
                              try catch

            ③onCreate()和onUpgrade()升级,onDowngrade()降级方法执行的时机:

                   在上一张章onCreate和onUpgrade方法执行的时机博客中我们知道,先获取数据库的当前版本,当版本号为0的时候,就会执行onCreate方法(当数据库文件第一次创建的时候版本号就是0)如果版本号不为0,同时和最新版本号进行比较,如果大于的话,就执行升级操作onUpgrade方法,否则就执行降级onDowngrade方法。

二、相关代码:

    1、升级:

             创建一个openHelper3.java

    openHelper3.java文件:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值