У меня есть приложение для Android, которое я готов к выпуску, и я просматриваю часть своего кода. Я беспокоюсь о своей реализации для своего SQLiteOpenHelper
. В частности, я хочу проверить, что ссылки oldVersion
и newVersion
в методе onUpgrade
. Это основано на versionCode
в моем AndroidManifest.xml? Или это что-то совершенно отдельное, специфичное для базы данных? Если это последний, как база данных определяет версию?Что такое номер версии SQLiteOpenHelper на основе?
ответ
Это основано на версии Code в моем AndroidManifest.xml?
Как правило, если вы не обновляете свою схему каждый раз, когда публикуете обновление для своего приложения, и даже тогда «основанный на» будет в основном случайным.
Или это значение нечто совершенно отдельное, специфичное для базы данных?
Да. Вы увеличиваете версию каждый раз, когда у вас есть новая схема базы данных.
Если последнее, как база данных определяет версию?
На каждом onCreate()
и onUpgrade()
, Android втыкает тогда новую версию схемы базы данных в таблице метаданных в базе данных. Это то, что Android затем проверяет, когда вы используете своего помощника в будущем, сравнивая это сохраненное значение с тем, которое вы предоставляете в своем конструкторе SQLiteOpenHelper
.
Итак, откуда берется значение «then-new version»? Всегда ли это когда 'onCreate' вызывается? Или есть способ указать, что это должно быть? Причина, по которой я спрашиваю, заключается в том, что я выполняю 5 миграций из 'onCreate'. Как я могу сказать, что Android начнет с миграции №6 при следующем обновлении? –
Ahh, я думаю, я понял, что мне не хватает. Конструктор принимает номер версии, который я полностью забыл, что я переопределяю. Отсюда и номер версии. :) –
@MattHuggins: IOW, номер версии исходит от вас. Или ваш верный миньон, который вводит код, в зависимости от того, что может быть. :-) – CommonsWare
- 1. Что такое номер версии Visual Studio 2015 Update 2?
- 2. Что такое номер версии для Windows 10? (BATCH FILE)
- 3. Что такое Azure API версии
- 4. Что такое квалификатор версии OSGI
- 5. Что такое идентификационный номер GCM?
- 6. Что такое идентификатор серийной версии?
- 7. Что такое номер изготовителя (MPN)?
- 8. Что такое номер приглашения IPython?
- 9. Java: Что такое атомный номер?
- 10. Что такое номер дополнения 2?
- 11. Что такое номер 9.00000000e-01?
- 12. Что такое номер функции в PCI?
- 13. Номер версии для Android Realm Migration на основе чего?
- 14. svn - номер версии на основе файлов вместо repo
- 15. Монотонно возрастающий номер версии на основе Mercurial Commits
- 16. Что такое виртуальная машина на основе ядра?
- 17. Что такое «выражения на основе знака»?
- 18. Что такое приложение на основе формы?
- 19. Что такое аутентификация на основе контейнеров?
- 20. Что такое DOM на основе шаблонов?
- 21. Что такое аутентификация на основе токенов?
- 22. Что такое инфраструктура на основе интерфейса?
- 23. Что такое node.js на основе, под капотом?
- 24. Что такое «программирование на основе интерфейса»?
- 25. Что такое PrimeFaces p: editor на основе?
- 26. Что такое класс на основе стека?
- 27. Что такое «XSS-атаки на основе DOM»?
- 28. Что такое «Завершение кода на основе интроспекции»?
- 29. Что такое дистрибутив на основе Debian?
- 30. Что такое программирование на основе цикла?
Последнее, вам просто нужно объявить простую переменную int в классе SQLiteOpenHelper, то есть единственную переменную, которую нужно изменить каждый раз, когда вы что-то обновляете. –