Что делает Android sqlite? - PullRequest
       14

Что делает Android sqlite?

0 голосов
/ 25 ноября 2011

Я разрабатываю базу данных sqlite в своем приложении для Android.Мне нужно, чтобы он мог легко расти, поэтому мне нужно, чтобы в будущих обновлениях я мог изменить базу данных и т. Д.

Я хочу знать, если при изменении версии базы данных в методе создания sqlite он создаетновый файл базы данных.Если это так, то в onUpgrade мне нужно перенести все данные, не так ли?

В заключение, что именно делает onCreate?Создает ли он новый файл базы данных?Или это действительно изменяет один?

Я спрашиваю это, потому что я не хочу, чтобы onCreate создавал новый файл ... Я хочу изменить только фактическую базу данных.

Спасибо

Ответы [ 2 ]

2 голосов
/ 25 ноября 2011

OnCreate вызывается только тогда, когда необходимо создать базу данных в первый раз.

OnUpgrade вызывается, если база данных уже существует и номера версий не совпадают. Вы должны использовать OnUpgrade, чтобы изменить вашу базу данных со старой версии на новую версию.

0 голосов
/ 25 ноября 2011

Я предполагаю, что вы ссылаетесь на метод OnCreate в SQLiteOpenHelper.Он вызывается, когда вы запрашиваете доступную для записи или чтения базу данных, и база данных должна быть создана.Мы не вызываем метод oncreate напрямую.Поэтому, если база данных уже существует, и мы запрашиваем базу данных с возможностью записи или чтения - новая база данных не создается.

Для получения дополнительной информации см. Эти ссылки

http://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html

http://developer.android.com/resources/tutorials/notepad/index.html

...