Встроенные базы данных в 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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!