Главная » Разработка для Android » Конструктор БД в Android приложении

0

 

Конструктор базы данных, присутствующий в этом поставщике, SimpleVideoDbHel per, использует функцию super для вызова своего родительского конструктора. Родительский конструктор выполняет всю основную работу по созданию объекта базы данных.

onCreate – когда приложение Android пытается записать данные в несуществующую базу данных или считать данные из несуществующей базы, фреймворк выполняет метод onCreate. Метод onCreate в классе YouTubeDbHel per демонстрирует один из способов создания базы данных. Если для инициализации базы данных требуется существенный объем кода на SQL, то, возможно, будет лучше держать код в файле ресурсов strings. xml. Так можно значительно улучшить читаемость кода Java. Но в таком случае при изменении кода разработчику также приходится одновременно иметь дело с двумя разными файлами, чтобы видеть, что на самом деле происходит. Разумеется, если в программе реализована простая база данных, то проще будет писать код SQL прямо в коде Java, как мы и поступили в SimpleVideoDbHelper. Или же, если вы используете построитель запросов, можно вообще обойтись без SQL.

Метод onCreate может и не создавать базы данных. Он передается новоиспеченной совершенно пустой базе данных и должен полностью ее инициализировать. В SimpleVideoDbHelper это довольно простая задача, решаемая при помощи вызова createVideosTablе.

onUpdate – метод onLlpdate для SimpleVideoContentProvider очень прост: он удаляет базу данных. Если поставщик содержимого пытается воспользоваться этой базой данных позже, Android вызывает метод onCreate, так как требуемая база данных не существует. Хотя такой лобовой подход вполне годится для нашего элементарного случая, когда поставщик содержимого является простым кэшем сетевой информации, подобный метод никак не подходит для базы данных со списком контактов! Ваши клиенты определенно будут недовольны, если им придется повторно вбивать всю информацию после каждого обновления прошивки телефона. Поэтому наш метод onUpdate не особенно применим на практике. Вообще, методу onUpdate придется распознавать все предыдущие версии базы данных, которые ранее использовались данным приложением, и располагать специальной стратегией преобразования этой информации в наиболее новый формат. При этом должна обеспечиваться сохранность самих данных. В более крупном приложении, скорее всего, будет несколько скриптов обновления, по одному для каждой версии, которая могла устареть к настоящему времени. Затем приложение последовательно запустит каждый скрипт обновления, чтобы вся база данных стала актуальной.

createVideosTabl е – эту функцию мы создали, чтобы инкапсулировать в нее весь код SQL, создающий нашу таблицу.

Источник: Android. Программирование на Java для нового поколения мобильных устройств

По теме:

  • Комментарии