Главная » Разработка для Android » Пример работы с базой данных с использованием sqlite3 в Android приложении

0

 

Теперь, когда вы знаете основы SQL и понимаете, как этот язык соотносится с SQLite, рассмотрим простую базу данных для хранения метаданных видео. Мы будем применять команду sqlіte3 для работы с командной строкой, а также отладочную оболочку Android, которую можно запустить командой adb. Пользуясь командной строкой, можно просматривать изменения базы данных по мере их возникновения. Кроме того, мы покажем несколько простых примеров того, как работать с этим полезным инструментом отладки базы данных. Более подробная информация о sqlite3 приводится по адресу http://www.sqlite.org/sqlite.html. Обратите внимание на то, что в первый раз этот пример лучше запустить на эмуляторе Android, поскольку для запуска его на реальном устройстве вам потребуются административные (привилегированные) права доступа. Для начала инициализируем базу данных:

Командная строка sqlіte3 принимает команды двух разновидностей: стандартные команды SQL и однословные команды, начинающиеся с точки (.). Ниже во вводном сообщении показана первая (и, пожалуй, наиболее важная) из этих команд: .helр. Опробуйте ее и увидите, какие команды вам доступны.

В этом списке есть и еще одна важная команда – . exit. Запомните ее! Это выход из этого длинного списка. Для выхода можно также нажать сочетание клавиш Ctrl+D.

Кроме того, важно запомнить, что каждая команда SQL должна завершаться точкой с запятой. Если вы увидите что-то подобное:

sqlite> select * from video

… >

то значит, SQLite полагает, что вы собираетесь вводить предложение SQL, и ожидает символа : в конце предложения. Обратите также внимание, что команды, начинающиеся с точки (.), не должны завершаться точкой с запятой.

Пока нам не особенно интересно большинство команд, начинающихся с точки, поскольку сама база данных еще пуста. Давайте введем какие-нибудь данные:

В этих строках создается новая таблица под названием video. Типы столбцов – integer и text. Таблица содержит первичный ключ id. Имя для данного конкретного столбца выбрано не случайно. Android требует использовать именно это имя, чтобы таблица могла работать с системой курсоров самой ОС Android.

Чтобы просмотреть новоиспеченные таблицы, воспользуемся «точечной» командой .table:

Рассмотрим несколько различных запросов, которые иллюстрируют изученные выше концепции SQL, а также описывают приложение, основанное на этих таблицах. Вставим в наши новые таблицы какие-нибудь данные, чтобы запросы могли вернуть результат:

Аккуратно закрывайте кавычки. Если вы введете одиночную кавычку, то sqlite3 постоянно будет напоминать вам об этом, пока вы не закроете кавычки.

В данном примере мы не вводим значения для всех столбцов таблицы. Содержимое скобок после фразы INTO в предложении – это список столбцов, в которые предложение будет записывать данные. В скобках после фразы VALUES содержатся сами значения в том же порядке.

Теперь предположим, что вы хотите найти все названия видео, в которых присутствует последовательность cycle. Воспользуемся запросом SELECT:

Sqlite3 выводит строки по одной. В данном примере мы набрали заглавными буквами зарезервированные ключевые слова SQL, чтобы синтаксис был яснее. Так делать не обязательно. Регистр может быть верхним, нижним или смешанным.

В примере также показано использование сопоставления с образцом, доступное в SQL. Ключевое слово LIKE в комбинации с подстановочным (джокерным) символом % позволяет сопоставлять фрагменты строк.

Предположим, нам нужно выстроить список всех видеофайлов вместе с их URL, которые должны быть отсортированы в алфавитном порядке по заголовкам:

Как видите, в sqlite3 для разделения значений, относящихся к различным столбцам, применяется вертикальная черта (|).

Мы пока не ввели описания наших видеофайлов. Давайте добавим хотя бы одно:

Наконец, давайте удалим запись – воспользуемся для этого ее ID:

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

По теме:

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