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

0

В нашем примере в файле SimpleFinchVideoContentProvider. Java заключена вся логика SQL, необходимая для работы с базой данных simple_video в Android. Приложения, которым требуется доступ к данным, сохраненным в долговременной памяти этой базы данных, взаимодействуют с поставщиком содержимого и курсором, предоставляемым этим поставщиком.

Клиенты полностью изолированы от детальной информации о том, как именно сохраняются данные. Это хорошая практика программирования, и ее следует придерживаться при написании всех ваших приложений для Android, где будут использоваться базы данных.

В данный момент, поскольку нас интересует именно работа с базами данных в Android, достаточно знать, что SimpleVideoDbHelper – это модель базы данных в поставщике содержимого. Все свойства, специфичные для конкретной базы данных (ее имя, названия ее столбцов и описания ее таблиц), закладываются в этом классе. Разумеется, если мы имеем дело с большой и сложной базой данных, то такой вспомогательный класс также может быть гораздо сложнее и состоять из нескольких компонентов.

Класс SimpleVideoDbHelper наследуется от абстрактного класса SQLiteOpenHelper, следовательно, он должен переопределять методы onCreate и onUpgrade. Метод onCreate вызывается автоматически при первом запуске приложения. Его задача – создать базу данных. Когда появится новая версия приложения, базу данных также, возможно, потребуется обновить, например добавить таблицы, столбцы или вообще изменить схему базы данных. Когда возникает такая необходимость, решением этой задачи занимается метод onUpgrade. Этот метод вызывается всякий раз, когда DATABASE_VERSION в вызове к конструктору отличается от версии, сохраненной в базе данных. Создавая новую версию базы данных, необходимо увеличить номер версии:

Ниже перечислены основные элементы, связанные с кодом SimpleVideoDbHelper.

Константы

В классе SimpleVideoDbHel per определяются две важные константы, а также следующие элементы.

DATABASE_NAME – в этой константе содержится имя файла базы данных (в нашем случае – simplevideo.db). Именно так и называется конкретный файл базы данных SQLite. Как мы уже упоминали, путь к этому файлу выглядит следующим образом: /data/data/com.оrеіlly.demo.pa. fіnchvideo/databases/simple_video.db. Система Android сама создаст за вас файл базы данных.

DATABAS Е_VERS I ON – в этой константе определяется версия базы данных, которую вы выбираете Произвольно, а затем приращиваете всякий раз, когда изменяете схему базы данных. Если версия базы данных на машине имеет меньший номер, чем DATABASEVERSION, то система запускает метод onUpgrade, обновляющий базу данных до актуального уровня.

VIDEO_TABLE_NAME – это имя единственной таблицы, входящей в нашу простейшую базу данных.

*_NAME – это имена столбцов базы данных. Как было указано выше, необходимо определить столбец с именем іd и использовать его в качестве основного ключа для любой таблицы, к которой вы собираетесь получить доступ при помощи курсора.

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

По теме:

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