zoukankan      html  css  js  c++  java
  • android的Afinal框架下的数据库更新

    项目需要,版本升级时给表添加了一些新的字段,发现出现异常。

    解决方法:监听数据库的版本号,更新数据库。

    创建FinalDb对象时使用如下的构造函数,监听版本号的变化:

    db = FinalDb.create(getActivity(), "chat.db", true, 3, dbUpdateListener);

    然后重写DbUpdateListener,

    DbUpdateListener dbUpdateListener = new FinalDb.DbUpdateListener() {
            @Override
            public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
                if (tabbleIsExist(db, "chat_messages")) {
                    db.execSQL(VERSION_3_SQL_ADD_COLUMN_HAS_PRAISED);
                }
    
                if (tabbleIsExist(db, "chat_conversations")) {
                    db.execSQL(VERSION_3_SQL_ADD_COLUMN_ACCESSTOKEN);
                    db.execSQL(VERSION_3_SQL_ADD_COLUMN_ISLOGIN);
                }
            }
        };

    在onUpgrade()方法里面可以自定义操作,一般是执行添加表字段的操作。

    private String VERSION_3_SQL_ADD_COLUMN_HAS_PRAISED = "alter table chat_messages add column has_appraised varchar(50)";
  • 相关阅读:
    在Eclipse中使用Checkstyle 检查Java代码规范
    文件缓存法的具体实现
    hdu 4454 Stealing a Cake
    uva 11922
    uva 11020
    uva 12206
    uva 11107
    uva 11796
    uva 11178
    uva 11437
  • 原文地址:https://www.cnblogs.com/Jackie-zhang/p/5179286.html
Copyright © 2011-2022 走看看