Или вам нужно сделать это самостоятельно? Я всегда предполагал, что это так, но пользователи сообщают о ошибках, которые не согласуются с этим, но не делают этого. Документы не ясны по этому поводу.Действительно ли метод SQLiteOpenHelper onUpgrade изменяет версию базы данных?
ответ
Вам не обязательно делать это самостоятельно.
Как можно видеть в source code of SQLiteOpenHelper
, версия базы данных автоматически изменяется после перегрузки метода onCreate
/onUpgrade
/onDowngrade
был успешно выполнен:
if (version == 0) {
onCreate(db);
} else {
if (version > mNewVersion) {
onDowngrade(db, version, mNewVersion);
} else {
onUpgrade(db, version, mNewVersion);
}
}
db.setVersion(mNewVersion);
db.setTransactionSuccessful();
Нет, это не так. Метод onUpgrade вызывается, когда версия БД отличается от версии, указанной в SqliteOpenHelper.
http://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html#onUpgrade(android.database.sqlite.SQLiteDatabase, int, int)
Из подписи, вы получите старую версию текущей БД и новую версию, которую вы пытаетесь обновить. Обычно тот, который вы указываете. Вы должны помнить, что пользователи не всегда обновляют каждое приложение, которое вы выпускаете, поэтому вам нужно постоянно менять скрипты для обновления нескольких версий.
Нет, это не меняется.
Он автоматически вызывается, когда версия базы данных изменена. Узнайте больше об этом здесь: http://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html
- 1. SQLiteOpenHelper onUpgrade() Confusion Android
- 2. SQLiteOpenHelper # onUpgrade() - это новая версия, которая поддерживает новейшую версию?
- 3. Вам нужно изменить схему базы данных в методе onUpgrade для SQLiteOpenHelper?
- 4. Почему SQLiteOpenHelper удаляет таблицу в методе «onUpgrade»?
- 5. self call onUpgrade метод
- 6. Android sqliteOpenHelper onUpgrade замена дб с новым одним
- 7. SQLite onUpgrade с 4 версиями базы данных
- 8. SQLiteOpenHelper-версия базы данных переключения
- 9. метода OnCreate() вызов вместо onUpgrade() метод при обновлении базы данных
- 10. Создает ли таблицу таблицу после того, как база данных уже создана, изменяет версию базы данных в SQLite?
- 11. Почему SQLiteOpenHelper вызывает открытие базы данных IllegalArgumentException?
- 12. Когда вызывается метод SQLiteOpenHelper onCreate?
- 13. Является ли метод onUpgrade когда-либо называемым?
- 14. SQLiteOpenHelper и близкий метод
- 15. Как должен выглядеть мой метод onUpgrade()?
- 16. Android onUpgrade, изменение структуры базы данных и обработка данных
- 17. Изменяет ли DBUnit фактическое состояние базы данных?
- 18. Как импортировать старую версию файла базы данных в новую версию?
- 19. Будут ли данные потеряны, когда onUpgrade называется
- 20. Действительно ли базы данных графиков обесценивают реляционные базы данных?
- 21. Вызвать метод SQLiteOpenHelper из фрагмента
- 22. onUpgrade в базе данных sqlite в android
- 23. База данных Sqlite onUpgrade() не называется
- 24. Использование onUpgrade для резервного копирования старой базы данных, замены базы данных и восстановления данных
- 25. Hibernate - изменяет структуру базы данных?
- 26. Android: onUpgrade не вызывается при обновлении базы данных
- 27. Использование onUpgrade() для создания новой таблицы базы данных SQLite Android
- 28. Метод SQLiteOpenHelper для Android не работает
- 29. Что такое номер версии SQLiteOpenHelper на основе?
- 30. базы данных не получает создан с использованием SQLiteOpenHelper
Fantastic! Тот, кто действительно знает, о чем он говорит. –
Почему была бы изменена версия db в методе onCreate()? –
@IgorGanapolsky Версия не изменена в on create(). –