Утилиты для работы с SQLite в Android

Раньше во время разработки баз данных SQLite на Android, процесс тестирования структуры и проверки валидности запросов был достаточно сложным. Для решения этой проблемы на помощь пришел инструмент SQLite Browser. Он мог обеспечить нам просмотр и редактирование базы данных. Но его использование было не удобным, так как разработчику нужно было достать файл .db из файловой системы и экспортировать в SQLite Browser.

Теперь же у нас есть парочка хороших инструментов для решения этой задачи. Это Stetho, SQL Scout и AppSpector. Так что давайте познакомимся с ними ближе.

Stetho

Если вы не читали мою предыдущую статью, прошу под кат. Stetho это библиотека разработанная Facebook для отладки баз данных и сетевых запросов. Главный вопрос. Как же мы можем использовать Stetho для отладки структуры и запросов базы данных?

На самом деле это весьма просто. Нам всего лишь нужно добавить необходимые зависимости в build.gradle

implementation 'com.facebook.stetho:stetho:1.5.1'
implementation 'com.facebook.stetho:stetho-okhttp3:1.5.1'                          
implementation 'com.facebook.stetho:stetho-urlconnection:1.5.1'

Далее инициализируйте библиотеку в классе Application

public class MyApplication extends Application {
  public void onCreate() {
    super.onCreate();
     if(BuildConfig.DEBUG) {
      Stetho.initializeWithDefaults(this)
     }
  }
}

Включите инспекцию сетевых запросов

OkHttpClient.Builder()
 .addNetworkInterceptor(StethoInterceptor())
 .build()

Итак, готово! Теперь мы можем запустить и проверить вывод в браузере Chrome. Для этого откройте ваш Chrome браузер и введите

chrome://inspect

Нажмите Enter и перед вами появится список подключенных устройств. Выберите устройство и все! Теперь вы можете следить за тем какие сетевые запросы выполняются на устройстве

Тестирование базы данных с использованием Stetho

Когда откроется окно инспекции, выберите вкладку Resources вверху окна. После чего вы увидите слева доступные опции для инспекции. Выберите Web SQL. После чего в Web SQL вам станут доступны созданные вами базы данных. Выбирая таблицу базы данных вы можете просмотреть ее структуру, а также данные которые в ней находятся. Больше вам нет нужды экспортировать/импортировать ваш .db файл в SQLite Browser.

Вы также можете выполнять запросы и проверять результат их работы. Редактор запросов с возможностью их выполнения доступен прямо в браузере.

Хорошая новость заключается в том, что больше вам не придется писать сложные SQL запросы в Android Studio, а потом тратить кучу времени на их отладку и тестирование. Если вы хотите узнать что еще умеет Stetho, вы можете почитать документацию на официальном сайте.

SQL Scout

SQL Scout это плагин для Android studio и Intellij IDEA. Он предоставляет крутые возможности для управления и отладки SQLite и Room базами данных. Установить его можно как и любой другой плагин в Android Studio. После установки у вас в Android Studio появится боковая панель на которой будет все необходимое

Фичи SQL Scout

SQLite Explorer — предоставляет возможность удобного просмотра таблиц базы данных

SQL Editor — редактор SQL запросов с автодополнением и подсветкой синтаксиса.

Data Console — консоль для просмотра результатов выполнения запросов, а также редактирования таблиц.

Database Diagrams — просмотр ER диаграмм структуры базы данных.

Это основные возможности плагина SQL Scout. Для более подробной информации вы можете также ознакомиться с официальной документацией.

AppSpector

AppSpector — это мультиплатформенный инструмент для удаленной отладки IOS и Android приложений. Это отличный выбор как для небольших команд разработки, так и для крупных компаний. С его помощью мы можем просматривать сетевые запросы, местоположение устройства, а также создавать свою mock-location для устройства, собирать логи приложения и многое другое.

Ключевые возможности

Удаленный доступ — позволит вам управлять устройством вне зависимости от его места нахождения. Будь это вируальный девайс, либо же удаленное устройство.

Кастомизация — вы можете выбирать какие данные вам нужно просматривать.

Легкость в использовании — вы можете начать его использование написав всего пару строк кода.

Поддержка нескольких платформ — как IOS, так и Android.

Real-time доступ — если произошли какие — либо изменения в приложении они сразу же станут доступны в консоли.

Безопасность — мы никогда не передаем данные третьим лицам в целях вашей конфиденциальности.

Более подробно с этим инструментом можно ознакомиться тут!

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: