Приклад роботи з базою даних з використанням sqlite3 в Android додатку

&nbsp

Тепер, коли ви знаєте основи SQL і розумієте, як ця мова співвідноситься з SQLite, розглянемо просту базу даних для зберігання метаданих відео Ми будемо застосовувати команду sqlіte3 для роботи з командним рядком, а також отладочную оболонку Android, яку можна запустити командою adb Користуючись командним рядком, можна переглядати зміни бази даних по мірі їх виникнення Крім того, ми покажемо кілька простих прикладів того, як працювати з цим корисним інструментом налагодження бази даних Більш детальна інформація про sqlite3 наводиться за адресою http://wwwsqliteorg/sqlitehtml Зверніть увагу на те, що в перший раз цей приклад краще запустити на емуляторі Android, оскільки для запуску його на реальному пристрої вам будуть потрібні адміністративні (привілейовані) права доступу Для початку инициализируем базу даних:

Командний рядок sqlіte3 приймає команди двох різновидів: стандартні команди SQL і однослівні команди, що починаються з крапки () Нижче у вступному повідомленні показана перша (і, мабуть, найбільш важлива) з цих команд: helр Випробуйте її і побачите, які команди вам доступні

У цьому списку є і ще одна важлива команда – exit Запамятайте її Це вихід з цього довгого списку Для виходу можна також натиснути клавіші Ctrl + D

Крім того, важливо запамятати, що кожна команда SQL повинна завершуватися крапкою з комою Якщо ви побачите щось подібне:

sqlite&gt select * from video

… &gt

то значить, SQLite вважає, що ви збираєтеся вводити пропозицію SQL, і очікує символу: в кінці речення Зверніть також увагу, що команди, що починаються з крапки (), Не повинні завершуватися крапкою з комою

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

У цих рядках створюється нова таблиця під назвою video Типи стовпців – integer і text Таблиця містить первинний ключ id Імя для даного конкретного стовпця обрано не випадково Android вимагає використовувати саме це імя, щоб таблиця могла працювати з системою курсорів самої ОС Android

Щоб переглянути новоспечені таблиці, скористаємося «точкової» командою Table:

Розглянемо кілька різних запитів, які ілюструють вивчені вище концепції SQL, а також описують додаток, заснований на цих таблицях Вставимо в наші нові таблиці небудь дані, щоб запити могли повернути результат:

Акуратно закривайте лапки Якщо ви введете поодинокі лапки, то sqlite3 постійно нагадуватиме вам про це, поки ви не закриєте лапки

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

Тепер припустимо, що ви хочете знайти всі назви відео, в яких присутня послідовність cycle Скористаємося запитом SELECT:

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

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

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

Як бачите, в sqlite3 для розділення значень, що відносяться до різних стовпцях, застосовується вертикальна риса (|)

Ми поки не ввели опису наших відеофайлів Давайте додамо хоча б одне:

Нарешті, давайте видалимо запис – скористаємося для цього її ID:

Джерело: Android Програмування на Java для нового покоління мобільних пристроїв

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*