xUtils中DBUtils 数据库版本升级 说明

来源:互联网 发布:淘宝上300块的投影仪 编辑:程序博客网 时间:2024/05/22 17:38

DButils是个挺不错的Android开发数据库第三方库,用起来挺快捷方便。

在开发过程中,App的版本升级是不可避免的。而升级的过程中,也难免需要做下数据库的升级,如需要在表中添加一个新的字段,或者新建一个新的Table数据库表。那DBUitls要怎么完成呢?看下代码:

       DbUtils db = DbUtils.create(this, “dbutils.db”, 1,                new DbUtils.DbUpgradeListener(){                    @Override                    public void onUpgrade(DbUtils dbUtils, int oldVersion, int newVersion) {                        try{                            //为数据库表ShoppingCar添加shopId字段                            dbUtils.createTableIfNotExist(Product.class);                            dbUtils.execNonQuery("alter table ShoppingCar add shopId text");                        }catch(Exception e){                            e.printStackTrace();                        }                    }                });        db.configAllowTransaction(true);// 开启事务        db.configDebug(false);// debug,输出sql语句

DbUtils.create()方法中的第三个参数便是数据库的版本号,这个版本号跟Androidmanifest.xml清单文件中的App版本号,两者是没有任何关系的。

代码中的数据库版本号为1,当我们需要做数据库升级时,可以将其修改为2。此时就会调用“更新表版本的监听器”DbUpgradeListener中的onUpgrade()方法。接下来,我们就可以用原生的sql语句去修改表的结构了。以此达到数据库的版本升级。

最后,个人也建议将DbUtils db做为一个全局的静态static变量。在项目中只做一次初始化等操作。这样做的好处,可以避免数据库的升级过程中,项目中存在多处需要修改的代码,写漏了代码。

0 0
原创粉丝点击