При написании приложений под операционную систему Android, приходится часто использовать базы данных для хранения данных. Я уже показывал шаблон, для создания БД на телефоне, сейчас хочу рассказать про отладку баз данных SQLite в случае работы с Android.
В составе Android SDK есть инструмент, который называется ADB или Android Debug Bridge. Командная строка позволяет связываться с запущенным эмулятором или физическим устройством, на котором ведется отладка.
Этот инструмент находится в папке <ПутьДоSDK>/platform-tools и позволяет делать множество действий от установки приложений до отправки и получения данных от эмулятора (или устройства), соединяться с базой данных и выполнять запросы.
Как работать с ADB:
Для того, что бы работать с ADB нужно отрыть консоль (или терминал в случае с Linux/ Mac OS) и перейти в папку с ADB, далее написать:
adb shell
или можно написать следующую команду, если нужно подключится к какому-то конкретному эмулятору (очень актуально, когда устройств несколько)
adb -s emulator-xxxx shell
В данном случае, emulator-xxxx — это имя устройства.
Далее нужно соединиться с базой данных на устройстве, сделать это можно так:
# sqlite3 /data/data/<имя пакета>/databases/<имя базы данных>
Для примера я использую тестовое приложение с простой базой данных в одну таблицу, команда для соединения получилась такая:
# sqlite3 /data/data/com.example.DB_Example/databases/db_name.db
Консольный вывод после ввода этой команды:
Далее можно исполнять запросы к базе данных. Например:
.tables - показывает список таблиц .output FILENAME - позволяет перенаправить результаты выполнения запроса в файл, например для дальнейшего анализа. .mode MODE - позволяет определить формат выходного файла. SELECT * FROM table_name - выбрать все записи из таблицы
Пример:
К сожалению, не отображается текст на русском языке