Ver el contenido de la base de datos creada con la biblioteca de persistencia de habitaciones

98

¿Hay alguna forma más fácil de ver el contenido de la base de datos creada con la biblioteca de persistencia de habitaciones en Android Studio?

SpiralDev
fuente
6
easier wayen comparación con qué camino?
Vladyslav Matviienko
1
en comparación con enfoques antiguos como el uso de DDMS o mediante adb shell. DDMS congela mi computadora y el uso de adb requiere mucho trabajo. Creo que debe haber una manera más fácil, ya que Google lo lanzó recientemente
SpiralDev
12
No en Android Studio, pero este github.com/facebook/stetho es el mejor puente de depuración de Android desarrollado por Facebook, desde el cual puede ver la base de datos de su aplicación, incluso las preferencias compartidas, etc.
Moinkhan

Respuestas:

47

Método 1

Puede usar Android-Debug-Database , y puede CRUD de sus datos desde un navegador, y luego puede ver sus datos de preferencia desde un navegador.

Método 2

Si no desea usar desde el navegador y tiene que verificar otros archivos, necesita verificar sus cambios de datos, use un emulador de Genymotion.Así que tiene que rootear su emulador.Intente rootear su emulador, por favor vea en https: / /stackoverflow.com/a/44039429/2772552 . Avísame si no estás bien.

Htoo Aung Hlaing
fuente
Puede ver el archivo de la base de datos pero no puede ver las tablas creadas en la base de datos.
Probé
9
Finalmente encontré la solución después de un día de trabajo. Exporte los archivos "userdatabase", "userdatabase-shm" y "userdatabase-wal" del emulador y abra el archivo "userdatabase" en el visor de sqlite
Ravikiran
si .db está en el directorio interno, no se le permite ver allí, copie manualmente el archivo .db al directorio de almacenamiento externo y funcionará para u
Htoo Aung Hlaing
Tuve un problema con el método 1 donde causaba problemas de lectura / escritura con otras tareas asíncronas. Provocó que la aplicación se congelara.
Jeffrey
90

En versiones anteriores de Android Studio:

Emulator -> Android Studio -> Device File Explorer -> /data/data/{$packageId}/databases/ -> Save As -> https://sqlitebrowser.org/

En versiones posteriores de Android Studio (3.5+):

View -> Tool Windows -> Device File Explorer -> /data/data/{$packageId}/databases/ -> Save As -> https://sqlitebrowser.org/
kreker
fuente
1
operación no permitida
Jonathan
2
@jonney Este método solo funcionará en un dispositivo o emulador rooteado.
Hitesh Bisht
1
Esto también debería funcionar en un teléfono no rooteado con una aplicación depurable instalada, excepto los dispositivos Samsung
Gaket
1
Esta debería ser la respuesta aceptada: la forma más fácil de obtener la base de datos sin tener que descargar software o rootear el dispositivo.
beyondtheteal
1
@ JakubJabłoński inicie su aplicación en el emulador, luego abra el Explorador de archivos del dispositivo en Android Studio
kreker
66

en Android Studio 3.1. *

en la barra de la ventana de herramientas, haga clic en "Device File explorer ". Generalmente, puede encontrarlo en la esquina inferior derecha de la pantalla.

abrir directorio en data/data/your-application-package/databases

con nueva arquitectura se crean 3 archivos en el directorio de bases de datos

your-database-name
your-database-name-shm
your-database-name-wal

tienes que exportar los 3 en el mismo directorio

luego abra el primer archivo (es decir, solo con el nombre de su base de datos) en cualquier navegador sqlite.

y ahora puedes ver todos tus datos .......

your-database-name-shm
your-database-name-wal

estos dos archivos adicionales son necesarios para abrir el archivo db si solo abre el archivo de la base de datos, entonces no encontrará ninguna tabla en ese archivo

Avinash Jadaun
fuente
¿Cómo puedo saber dónde está la ruta "/ data / data / ..." en mi sistema de archivos?
Awais Hussain
El autor de esta respuesta en realidad muestra dónde vive `` Device File Explorer`, lo que ahorra algo de tiempo a los novatos; por lo tanto +1
Ilonpilaaja
@AwaisHussain: usecontext.getDatabasePath("your-db-name.db")
gMale
Presione shift dos veces para buscar en todas partes y escriba Device File Explorer si se ha eliminado de la esquina inferior derecha en su estudio de Android.
COYG
Gracias por responderme
Amirhf
39

Descargue e instale DB Browser para SQLite

En las versiones de Android Studio> = 3.0:

Abra el Explorador de archivos del dispositivo a través de:

Ver > Ventanas de herramientas > Explorador de archivos del dispositivo

En "Explorador de archivos del dispositivo", vaya a:

datos > datos > PACKAGE_NAME > bases de datos

donde PACKAGE_NAME es el nombre de su paquete (es com.edgedevstudio.sample en el ejemplo siguiente)

Explorador de archivos del dispositivo

Haga clic derecho en la base de datos y seleccione Guardar como. Guárdelo en cualquier lugar que desee en su PC.

Abra, DB Browser para SQLite y haga clic en 'abrir base de datos' y abra la base de datos. ingrese la descripción de la imagen aquí

En el caso del ejemplo anterior, debe ubicar " todolist " NOT "todolist-shm" ni "todolist-wal"

Si no exporta los 3 archivos de la base de datos (db_name, db_name-shm & db_name-wal, donde db_name = nombre de la base de datos) no podrá leer la base de datos.

EdgeDev
fuente
Esto es lo que estaba buscando ... ¡Exactamente lo que necesitaba! Gracias @EdgeDev
Kannan_SJD
19

Personalmente uso la base de datos de depuración de Android

Android Debug Database es una potente biblioteca para depurar bases de datos y preferencias compartidas en aplicaciones de Android.

Inicio rápido

Agregue esto al build.gradle de su aplicación

debugImplementation 'com.amitshekhar.android:debug-db:1.0.4'

Simplemente inicie la aplicación, verá en el logcat una entrada como la siguiente:

D/DebugDB: Open http://192.168.1.104:8080 in your browser

ingrese la descripción de la imagen aquí


ingrese la descripción de la imagen aquí


Para obtener más información, eche un vistazo al repositorio de github

chebaby
fuente
1
Esta es la mejor manera, ya que no es necesario rootear el dispositivo
domingo
1
¡Guauu! Cosas asombrosas !! Gracias amigo !!
Barakuda
10

15 de abril de 2020 - De forma sencilla, siga estos pasos:

  1. Descargar el programa SQLiteBrowser: Descargar SQLite para todos los sistemas operativos
  2. Haga clic en "Explorador de dispositivos" donde está la esquina inferior derecha en Android Studio.
  3. Verá muchos archivos. ¡No te preocupes! Siga la ruta: data / data / {el nombre del paquete de su aplicación}
  4. Haga clic derecho en "bases de datos" y Guardar como en su computadora.
  5. Abra SQLiteBrowser y haga clic en "Abrir base de datos" y luego elija el archivo que tiene el mismo nombre que el de su base de datos.
  6. Puede ver archivos y seleccionar cuál tiene el mismo nombre que el nombre de la tabla de su base de datos.
  7. Paso final, puede ver la opción "Examinar datos" cerca de la opción Estructura de la base de datos. Cuando la selecciona, puede ver los datos de la base de datos.

Puede ver los pasos y simplemente seguir los números en la imagen de abajo

Puedes ver los pasos en la imagen.

@canerkaseler

canerkaseler
fuente
7

Usa Stetho .

Agréguelo a su proyecto de Android como dependency.

Llame Stetho.initializeWithDefaults(this)a su Applicationy vea su base de datos usando la herramienta de inspección de Chrome. Ingrese lo siguiente en su barra de URL de Chrome:chrome://inspect .

¡Presto! Puedes ver tu Room database.

Izak
fuente
3

Hice esto siguiendo los pasos:

1) Descargue el navegador db desde el siguiente enlace.

https://sqlitebrowser.org/

2) Vaya al Explorador de archivos del dispositivo desde IDE y copie tres archivos generados como ingrese la descripción de la imagen aquí y seleccione los tres archivos: your-db, your-db-shm, your-db-wal

presione ctrl + shift + sy péguelo en alguna carpeta. Hecho.

3) finalmente abra your-db con la aplicación DbBrowser.

100RaBH
fuente
gracias, tengo que seleccionar los tres archivos: * -db, * -db-shm, * -db-wal
xyz
2

Con la última versión de Android Studio 4.1 Canary , Android Studio proporciona una nueva herramienta llamada Database Inspector .

Puede utilizar esta herramienta Inspector de base de datos para ver el archivo de base de datos y su contenido, también puede editar el contenido de la base de datos.

ingrese la descripción de la imagen aquí

Si está utilizando Room Persistence, también proporciona la posibilidad de ejecutar @Queryen Android Studio. Puede ver el botón de ejecución del lado izquierdo de la @Queryanotación.

ingrese la descripción de la imagen aquí

Si está utilizando LiveData, reflejará en vivo los cambios en el contenido de la base de datos,

ingrese la descripción de la imagen aquí

Chandan Sharma
fuente
1
You can see your database table on the DB Browser for SQLite & room DB.

 In android studio 
1. Click on View -> Tool Windows -> Device File Explorer -> data
2. Select your project package name -> database -> select all file and save on desktop

Install **DB browser for SQLITE** 
1. sudo apt-get install sqlitebrowser //write on your terminal for install DB browser
2. install DB browser for sqlite
3. click on Open database and select file where you had saved your data
4. click on Brower Data and see your tables

This is all where i have see my android room database
HandyPawan
fuente
1

Con Android Studio 4.1 Canary 6 y superior, puede inspeccionar, consultar y modificar las bases de datos de su aplicación con el nuevo Inspector de base de datos. Por ejemplo, puede depurar su aplicación en ejecución modificando valores en su base de datos y probando esos cambios en el dispositivo.

https://developer.android.com/studio/preview/features#database-inspector

Jeffrey Liu
fuente
Esta debería ser la respuesta oficial.
Amit Sharma
0

Recientemente probé Sethto By Facebook .

Stetho es un puente de depuración sofisticado para aplicaciones de Android. Cuando está habilitado, los desarrolladores tienen acceso a la función Herramientas para desarrolladores de Chrome, que forma parte de forma nativa del navegador de escritorio Chrome.

Solo necesita incluir su dependencia de gradle y llamar a MainApp. Eso es. Obtiene acceso a todas las herramientas en la ventana de Chrome mediante la chrome://inspect/inclusión de su base de datos sqlite.

A continuación se muestra una captura de pantalla donde Room Database en el emulador la inspecciona . Solo lo intenté en el emulador hasta ahora.

ingrese la descripción de la imagen aquí

Ajji
fuente
0

después de obtener su DB (3 archivos) de Device File Explorar como se dijo anteriormente

Realmente recomiendo un programa fácil como usar "DB Browser for SQLite" https://sqlitebrowser.org/

Amr263
fuente