Инспектор базы данных позволяет вам проверять, запрашивать и изменять базы данных вашего приложения во время его работы. Это особенно полезно для отладки базы данных. Инспектор базы данных работает с простым SQLite и с библиотеками, созданными на основе SQLite, такими как Room .
Откройте инспектор базы данных
Чтобы открыть базу данных в Инспекторе баз данных, выполните следующие действия:
Запустите свое приложение на эмуляторе или подключенном устройстве с API уровня 26 или выше.
В строке меню выберите «Просмотр» > «Инструменты Windows» > «Проверка приложений» .
Выберите вкладку «Инспектор базы данных» .
Выберите в меню запущенный процесс приложения.
Базы данных в запущенном в данный момент приложении отображаются на панели «Базы данных» . Разверните узел базы данных, которую вы хотите проверить.
Просмотр и изменение данных
На панели «Базы данных» отображается список баз данных в вашем приложении и таблицы, содержащиеся в каждой базе данных. Дважды щелкните имя таблицы, чтобы отобразить ее данные в окне инспектора справа, как показано на рисунке 1. Щелкните заголовок столбца, чтобы отсортировать данные в окне инспектора по этому столбцу.
Чтобы изменить данные в таблице, выполните следующие действия:
- Дважды щелкните ячейку.
- Введите новое значение.
- Нажмите Enter .
Если ваше приложение использует Room, а ваш пользовательский интерфейс наблюдает за базой данных, например, с помощью LiveData
или Flow
, то любые изменения, которые вы вносите в данные, немедленно отображаются в работающем приложении. В противном случае изменения будут видны только тогда, когда ваше приложение в следующий раз прочитает измененные данные из базы данных.
Просматривайте изменения в базе данных в реальном времени
Если вы хотите, чтобы Инспектор баз данных автоматически обновлял представляемые им данные при взаимодействии с запущенным приложением, установите флажок Обновления в реальном времени в верхней части окна инспектора. Пока включено оперативное обновление, таблица в окне инспектора доступна только для чтения, и вы не можете изменять ее значения.
Альтернативно, чтобы обновить данные вручную, нажмите кнопку «Обновить таблицу» в верхней части окна инспектора.
Запрос к вашим базам данных
Инспектор базы данных может выполнять запросы к базе данных вашего приложения во время работы приложения. Инструмент может использовать запросы DAO, если ваше приложение использует Room, но он также поддерживает пользовательские запросы SQL.
Запуск запросов DAO
Если ваше приложение использует Room, Android Studio предоставляет действия с переплетом, которые позволяют быстро запускать методы запроса, которые вы уже определили в своих классах DAO . Эти действия доступны, пока ваше приложение работает и инспектор базы данных открыт в IDE.
Чтобы запустить любой метод запроса в DAO, щелкните оператор «Выполнить SQLite» в инспекторе базы данных. кнопку рядом с аннотацией @Query
.
Если ваше приложение включает в себя более одной базы данных, Android Studio предложит вам выбрать базу данных для запроса из списка. Если ваш метод запроса включает именованные параметры привязки , Android Studio запрашивает значения для каждого параметра перед выполнением запроса. Результаты запроса отображаются в окне инспектора.
Запускайте собственные SQL-запросы
Вы также можете использовать Инспектор баз данных для выполнения пользовательских запросов SQL к базам данных вашего приложения во время его работы.
Чтобы запросить базу данных, выполните следующие действия:
Нажмите вкладку «Открыть новый запрос». в верхней части панели «Базы данных» , чтобы открыть новую вкладку в окне инспектора.
Если ваше приложение включает в себя более одной базы данных, выберите базу данных для запроса из списка на вкладке «Новый запрос» .
В верхней части вкладки «Новый запрос» введите собственный SQL-запрос в текстовое поле.
Нажмите «Выполнить» .
Альтернативно можно использовать функцию истории запросов для запуска запроса, который вы использовали ранее:
Нажмите « Показать историю запросов». Нажмите кнопку, чтобы просмотреть список запросов, которые вы ранее выполняли к выбранной базе данных.
Щелкните запрос в списке, чтобы просмотреть полный запрос в редакторе, и нажмите Enter , чтобы скопировать его в редактор.
Нажмите «Выполнить», чтобы выполнить инструкцию.
Результаты запроса, отображаемые на вкладке «Новый запрос» , доступны только для чтения и не могут быть изменены. Однако вы можете использовать настраиваемое поле SQL-запроса для запуска операторов-модификаторов, таких как UPDATE
, INSERT
или DELETE
.
Если ваше приложение использует Room, а ваш пользовательский интерфейс наблюдает за базой данных, например, с помощью LiveData
или Flow
, то любые изменения, которые вы вносите в данные, немедленно отображаются в работающем приложении. В противном случае изменения будут видны только тогда, когда ваше приложение в следующий раз прочитает измененные данные из базы данных.
Офлайн-режим
В Android Studio 4.2 и более поздних версиях вы можете продолжать проверять базы данных вашего приложения после отключения процесса. Это упрощает отладку вашего приложения после сбоя.
При возникновении отключения Инспектор баз данных загружает ваши базы данных и делает их доступными вам в автономном режиме . В автономном режиме вы по-прежнему можете открывать таблицы и выполнять запросы.
При повторном подключении к работающему процессу приложения Инспектор базы данных выходит из автономного режима и показывает только те данные, которые находятся на устройстве. Другими словами, данные, отображаемые в автономном режиме, не сохраняются при повторном подключении к процессу приложения. Из-за этого ограничения Инспектор базы данных не позволяет редактировать данные или выполнять операторы SQL модификации в автономном режиме.
Когда вы просматриваете базу данных в автономном режиме, имя процесса включает [DETACHED]
что указывает на то, что инспектор больше не подключен к процессу. Кроме того, значок базы данных указывает на автономное состояние, показанное на рисунке 5.
Держите соединения с базой данных открытыми
Инспектор базы данных может изменять базу данных только в том случае, если ваше приложение поддерживает активное соединение с этой базой данных. Это означает, что если ваше приложение часто подключается к базам данных и отключается от них, отладка этих баз данных может быть затруднена. На панели «Базы данных» используются значки для обозначения открытыхи закрыто базы данных.
Кроме того, чтобы предотвратить закрытие соединений с базой данных, отключите переключатель « Оставлять соединения с базой данных открытыми ». чтобы включить в верхней части панели «Базы данных» .
Экспорт данных из инспектора базы данных
Вы можете экспортировать базы данных, таблицы и результаты запросов из Инспектора баз данных для сохранения, совместного использования или повторного создания локально. Когда вы открываете проект приложения в Android Studio и проверяете приложение для этого проекта в Инспекторе базы данных, вы можете начать экспорт данных одним из следующих способов:
- Выберите базу данных или таблицу на панели «Базы данных» и нажмите «Экспорт в файл» в верхней части панели.
- Щелкните правой кнопкой мыши базу данных или таблицу на панели «Базы данных» и выберите «Экспорт в файл» в контекстном меню.
- При проверке таблицы или результатов запроса на вкладке нажмите «Экспорт в файл» над таблицей или результатами запроса.
После выбора действия экспорта используйте диалоговое окно «Экспорт базы данных» , которое поможет вам выполнить последние шаги, как показано на рисунке 6.
В зависимости от того, пытаетесь ли вы экспортировать базу данных, таблицу или результаты запроса, у вас есть возможность экспортировать данные в один или несколько следующих форматов: DB, SQL или CSV.
Дополнительные ресурсы
Дополнительные сведения об Инспекторе базы данных см. в следующих дополнительных ресурсах: