Cuando se quieren depurar bases de datos en Android no la tenemos fácil, pues Android no ofrece una manera nativa y fácil de exportar o importar la base de datos de nuestra app.
En este post te mostraré una herramienta que te ayudará a visualizar y depurar las bases de datos SQLite en Android sin necesidad de ser root o instalar apps de terceros.
Únicamente debemos agregar la librería llamada Android-Debug-Database que personalmente me ha ayudado bastante al analizar o depurar bases de datos en Android.
La librería de la que hablo se llama Android Debug Database y no hace otra cosa más que ayudarnos a depurar bases de datos SQLite en Android.
El repositorio está aquí, y en este post te mostraré a agregarla y usarla.
Nota: si tú prefieres extraer la base de datos con la shell, mira este post.
Me parece que abre un puerto en el dispositivo y a través de él muestra una interfaz web que sirve para analizar todas las tablas existentes y bases de datos.
Además de mostrar los datos existentes, da la opción de editar y eliminar registros, o insertar nuevos.
Todo esto se hace a través de nuestro navegador web, además de que no supone ningún riesgo en la app final.
Abre tu archivo build.gradle
, el que dice app
, y agrega lo siguiente en el apartado de dependencies
:
debugImplementation 'com.amitshekhar.android:debug-db:1.0.6'
Seguramente se te pedirá que sincronices, hazlo haciendo click en Sync now:
Como estamos agregando la dependencia en modo debugImplementation
el puerto solo se abrirá al estar en modo desarrollo, pero al compilar nuestra app, no estará presente.
En el logcat aparecerá el puerto y la ip en donde se está escuchando para conectarnos desde el navegador. De hecho solo tenemos que hacer click en la URL y eso es todo.
Para ver el puerto y la IP abre el logcat, elige el filtro Debug y escribe DebugDB
en la barra de búsqueda, te debe aparecer la URL completa.
Si abres esa URL verás las bases de datos de tu app:
Puedes seleccionar los datos de las tablas, ejecutar consultas, etcétera.
Como lo dije, esta herramienta solo se acciona en modo de desarrollo, así que al compilar la app no habrá riesgo de que alguien modifique la información desde el navegador.
En lo personal me ayudó bastante a depurar bases de datos en Android ya que no existe una manera nativa de hacerlo, y siempre viene bien saber lo que está pasando a nivel de datos.
Puedes encontrar más información en el repositorio oficial.
Recuerda que puedes leer más sobre Android o SQLite en mi blog.
Hoy te voy a presentar un creador de credenciales que acabo de programar y que…
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Esta web usa cookies.