Встроенные базы данных в Android.
База данных SQLite
Платформа Android предоставляет функции управления базой данных, которые позволяют сохранять сложные коллекции данных.
Файлы баз данных SQLite сохраняются в файловой системе мобильного устройствав каталоге /data/data/package_name/databases, где package_name — имя пакета приложения, которое управляет этой базой данных. SQLite хранит всю базу данных,включая определения, таблицы, индексы и данные в одном стандартном файле срасширением db. Файлы баз данных можно увидеть, запустив File Explorer инструмента DDMS. Приложение, которое использует собственную базу данных, создаетвложенный каталог со стандартным именем databases, в котором располагает файлы базы данных SQLite.
Инструменты для работы с базами данныхна Android-телефоне
Чтобы работать с базой данных SQLite — создавать таблицы и связи, просматривать и модифицировать структуру базы данных, нам понадобятся инструменты.
Инструмент sqlite3
Программа для управления базой данных sqlite3 представляет собой инструменткомандной строки, который дает возможность просматривать содержание таблиц,выполнять SQL-команды и исполнять другие полезные функции на базах данныхSQLite.
Работать с инструментом sqltite3 можно следующим образом. Сначала надо запустить Android Debug Bridge (adb) и создать соединение с экземпляром эмулятораAndroid (эмулятор Android должен быть открыт и система загружена). Запуститекомандную строку Windows и введите в ней следующую команду:
|
|
adb -s emulator-5554 shell
Появится символ #, означающий приглашение к вводу следующих команд. Этозначит, что adb нашел выполняющийся экземпляр AVD и успешно соединилсяс ним. Далее после символа #введите команду sqlite3 и аргумент — полный путьдо файла одной из баз данных SQLite, установленных на эмуляторе, например дофайла базы данных SMS- и MMS-сообщений:
sqlite3 /data/data/com.android.providers.telephony/databases/mmssms.db
Должно появиться сообщение:
SQLite version 3.5.9
Enter ".help" forinstructions
sqlite>
Теперь введите команду .tables. Будет выведен список всех таблиц, содержащихсяв базе данных mmssms.db, как показано на рис. 15.2.
Использование инструментов сторонних разработчиков
Для работы с SQLite
Сторонние разработчики также предоставляют различные графические инструменты для работы с базой данных SQLite в Android. Например, для Eclipse имеется плагин Questoid SQLite Browser, доступный по адресу http://marketplace. eclipse.org/content/questoid-sqlite-browser.
Интересный инструмент предоставляет и Motorola — MOTODEV Studio for Android. Это интегрированная среда разработки на основе Eclipse (MOTODEV Studio for Android доступен также в виде плагина, который вы можете поставить на установленный ранее Eclipse). Познакомиться с этой средой разработки вы можете
по адресу http://developer.motorola.com/docstools/motodevstudio/.
|
|
Среда разработки MOTODEV Studio for Android содержит несколько дополнительных функциональностей, которые отсутствуют в стандартном плагине ADT. В частности, в этой IDE есть хороший графический инструмент MOTODEV Database Explorer, с помощью которого можно работать с базами данных SQLite. Этот инструмент отображает список баз данных мобильного устройства и их структуру.
Создание базы данных: класс SQLiteOpenHelper
Библиотеки Android обеспечивают набор классов для создания и управления базами данных SQLite.
В библиотеке Android есть класс SQLiteOpenHelper для создания базы данных. Класс SQLiteOpenHelper содержит два абстрактных метода:
r onCreate() — вызывается при первом создании базы данных;
r onUpgrade() — вызывается при модификации базы данных.
В приложении создается свой класс, наследуемый от SQLiteOpenHelper. В этом
классе необходимо реализовать вышеперечисленные методы, описав в них логику
создания и модификации базы.
В библиотеке Android для управления базой данных SQLite используется класс SQLiteDatabase. Этот класс имеет набор методов для создания, удаления базы данных, а также для выполнения различных операторов SQL для управления базой данных. Объект этого класса представляет нашу базу данных и передается в качестве входного параметра в методы onCreate() и onUpgrade() класса, расширяющего SQLiteOpenHelper.
|
|
В теле метода обратного вызова onCreate() необходимо реализовать логику соз-
дания таблиц и при необходимости заполнить их начальными данными,
Метод onUpdate() вызывается при установке обновлений программы с измененнойструктурой таблиц. В методе обратного вызова onUpgrade() можно, например, реализовать запрос в базу данных на уничтожение таблицы (DROP TABLE), после чеговновь вызвать метод onCreate() для создания версии таблицы с обновленной структурой.
В Android существует встроенная поддержка базы данных SQLite. Поддерживаются все функции SQLite, предоставляется API оболочки с совместимым интерфейсом. Подробные сведения см. по приведенной ниже ссылке.
API Android SQLite является типичным; разработчику следует реализовать всю обработку базы данных, включая создание, управление версиями, обновления базы данных и прочие настройки. Если нужно использовать заранее заполненную базу данных SQLite, требуется дополнительная настройка.
Прямое использование API Android SQLite может привести к написанию большого количества шаблонного кода. Существует несколько библиотек Android, помогающих упростить этот процесс. Они обладают и рядом других возможностей в дополнение к удобному и эффективному использованию баз данных SQLite в приложениях Android.
|
|
SQLiteAssetHelper - одна из таких библиотек. Эта библиотека популярна в сообществе разработчиков Android.
SQLite является открытым исходным кодом базы данных SQL, которая хранит данные в текстовый файл на устройстве. Android приходит со встроенной реализации базы данных SQLite.
SQLite поддерживает все реляционные функции базы данных. Для того, чтобы получить доступ к этой базе данных, вам не нужно устанавливать какие-либо соединения для него, как JDBC, ODBC и т.д.
Content Provider.
Content Provider — один из четырех фундаментальных компонентов Android-приложения, который обеспечивает информационное наполнение приложения. Content Provider нужен, если есть необходимость совместного использования данных между приложениями.
Использование компонента Content Provider дает приложениям возможность взаимодействовать с хранилищами данных в системе Android. Компонент Content Provider позволяет с помощью запросов к источнику данных получать и отображать содержимое этого источника в приложении, а также управлять данными — создавать новые, модифицировать существующие и удалять записи в хранилище данных.
Дата добавления: 2018-06-27; просмотров: 522; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!