Обновление базы данных Android Проблема - PullRequest
0 голосов
/ 30 декабря 2011

У меня есть приложение с базой данных. Теперь я хочу выпустить новую версию приложения, но в моей базе данных есть новое поле, и я хочу сохранить свои старые данные в базе данных, а также добавить новую базу данных с дополнительными полями

* 1002.* Будет ли моя база данных переутомлена (я потеряю свою копию данных) или будет добавлена ​​новая база данных

1 Ответ

0 голосов
/ 30 декабря 2011

фокус на onUpgrade метод: -)

public class WIMProvider extends ContentProvider {

    private static final int DATABASE_VERSION = 2;

    private DatabaseHelper mOpenHelper;

    // ..... code .....

    private static class DatabaseHelper extends SQLiteOpenHelper {

        private Context mContext;

        public DatabaseHelper(Context context) {
            super(context, DATABASE_NAME, null, DATABASE_VERSION);
            mContext = context;
        }

        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

            if (oldVersion == 1) {
                db.execSQL("ALTER TABLE TCategory ADD COLUMN fiDefault integer DEFAULT 0");
                oldVersion++;
            }
            if (oldVersion == 2) {
                db.execSQL("ALTER TABLE TCategory ADD COLUMN fsIcon nvarchar(50)");
                oldVersion++;
            }
        }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...