добавить новую таблицу на обновление андроида - PullRequest
1 голос
/ 01 сентября 2011

Во время обновления я хочу добавить новую таблицу в свою базу данных, но также не потерять данные из других таблиц при обновлении приложения. Может кто-нибудь сказать мне (но если бы вы могли показать мне также пример) о том, как это делается. Потому что я просматривал форумы, но в основном идут дискуссии о добавлении нового столбца и т. Д. Я подумал, что мне нужно как-то это сделать с помощью alter table, но я не все понял. Если вы можете сказать мне шаги этого процесса, я был бы очень признателен. Заранее спасибо.

Ответы [ 2 ]

4 голосов
/ 01 сентября 2011

Если вы просто хотите добавить новую таблицу и не изменять ни одну из существующих таблиц, то вы можете просто создать новую таблицу в своем методе onUpgrade. Таким образом, ваши существующие таблицы не будут затронуты.

РЕДАКТИРОВАТЬ: еще лучше, добавить таблицу, как обычно, в onCreate, а затем в onUpgrade вы вызываете onCreate

1 голос
/ 04 сентября 2011

Попробуйте использовать SQLiteOpenHelper в Android. У него есть методы для onCreate и onUpgrade.

Пример:

public void onUpgrade(SQLiteDatabase database, int oldVersion, int newVersion) {

    Maas360Logger.i(loggerName, "upgrading database "+oldVersion+" "+newVersion);
    try {
        database.beginTransaction();
        for (int i = oldVersion + 1; i <= newVersion; i++) {
            // Future schema changes has to go into this loop

Ведение версий базы данных для обработки обновлений

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...