Afficher le contenu de la base de données créée avec la bibliothèque de persistance de pièce

98

Existe-t-il un moyen plus simple de voir le contenu de la base de données créée avec la bibliothèque de persistance de la pièce dans Android Studio?

SpiralDev
la source
6
easier waypar rapport à quel chemin?
Vladyslav Matviienko
1
par rapport aux anciennes approches comme l'utilisation de DDMS ou via adb shell. DDMS gèle mon ordinateur et l'utilisation d'adb demande beaucoup de travail. Je pense qu'il doit y avoir un moyen plus simple car il a été publié récemment par Google
SpiralDev
12
Pas dans le studio Android, mais ce github.com/facebook/stetho est le meilleur pont de débogage Android développé par Facebook, à partir duquel vous pouvez voir votre base de données d'applications, même des préférences partagées, etc.
Moinkhan

Réponses:

47

Méthode 1

Vous pouvez utiliser Android-Debug-Database , et vous pouvez CRUD de vos données à partir d'un navigateur, puis vous pouvez voir vos données de préférence à partir d'un navigateur.

Méthode 2

Si vous ne voulez pas utiliser à partir du navigateur et que vous devez vérifier d'autres fichiers, vérifier les modifications de vos données, utiliser un émulateur Genymotion.Vous devez donc rooter votre émulateur.Essayez de rooter votre émulateur, veuillez voir en https: / /stackoverflow.com/a/44039429/2772552 . Faites-moi savoir si vous n'êtes pas d'accord.

Htoo Aung Hlaing
la source
Capable de voir le fichier de base de données, mais impossible d'afficher les tables créées dans la base de données. J'ai essayé les deux méthodes
Ravikiran
9
Enfin j'ai trouvé la solution après une journée de travail. Exportez les fichiers "userdatabase", "userdatabase-shm" et "userdatabase-wal" depuis l'émulateur et ouvrez le fichier "userdatabase" dans la visionneuse sqlite
Ravikiran
si .db est dans le répertoire interne, vous n'êtes pas autorisé à y voir, copiez manuellement le fichier .db dans le répertoire de stockage externe et cela fonctionnera pour u
Htoo Aung Hlaing
J'ai eu un problème avec la méthode 1 où cela causait des problèmes de lecture / écriture avec d'autres tâches asynchrones. A provoqué le gel de l'application.
Jeffrey
90

Dans les anciennes versions d'Android Studio:

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

Dans les versions ultérieures d'Android Studio (3.5+):

View -> Tool Windows -> Device File Explorer -> /data/data/{$packageId}/databases/ -> Save As -> https://sqlitebrowser.org/
Kreker
la source
1
opération interdite
Jonathan
2
@jonney Cette méthode ne fonctionnera que sur un appareil ou un émulateur rooté.
Hitesh Bisht
1
Cela devrait également fonctionner sur un téléphone non rooté avec une application débuggable installée, à l'exception des appareils Samsung
Gaket
1
Cela devrait être la réponse acceptée - le moyen le plus simple d'obtenir la base de données sans avoir à télécharger le logiciel ou à rooter le périphérique.
Beyondtheteal
1
@ JakubJabłoński lancez votre application sur l'émulateur, puis ouvrez l'explorateur de fichiers de l'appareil dans Android Studio
kreker
66

dans Android Studio 3.1. *

dans la barre d'outils, cliquez sur " Device File explorer" généralement vous pouvez le trouver dans le coin inférieur droit de l'écran

ouvrir le répertoire dans data/data/your-application-package/databases

avec la nouvelle architecture 3 fichiers sont créés dans le répertoire des bases de données

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

vous devez exporter les 3 dans le même répertoire

puis ouvrez d'abord un fichier (c'est-à-dire avec le nom de votre base de données uniquement) dans n'importe quel navigateur sqlite.

et maintenant vous pouvez voir toutes vos données .......

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

ces deux fichiers supplémentaires sont nécessaires pour ouvrir le fichier db si vous ouvrez uniquement le fichier de base de données, vous ne trouverez aucune table dans ce fichier

Avinash Jadaun
la source
Comment puis-je savoir où se trouve le chemin "/ data / data / ..." sur mon système de fichiers?
Awais Hussain
L'auteur de cette réponse montre en fait où vit `` Device File Explorer '', ce qui fait gagner du temps aux débutants; d'où +1
Ilonpilaaja
@AwaisHussain: utilisationcontext.getDatabasePath("your-db-name.db")
gMale
Appuyez deux fois sur Maj pour rechercher partout et tapez dans Device File Explorer s'il a été supprimé du coin inférieur droit de votre studio Android.
COYG
Merci de m'avoir répondu
Amirhf
39

Télécharger et installer DB Browser pour SQLite

Dans les versions d'Android Studio> = 3.0:

Ouvrez l'explorateur de fichiers de périphérique via:

Affichage > Fenêtres d'outils > Explorateur de fichiers de périphérique

Dans "Device File Explorer", allez à:

data > data > PACKAGE_NAME > bases de données

où PACKAGE_NAME est le nom de votre package (il s'agit de com.edgedevstudio.sample dans l'exemple ci-dessous)

Explorateur de fichiers de périphérique

Cliquez avec le bouton droit sur la base de données et sélectionnez Enregistrer sous. Enregistrez-le où vous le souhaitez sur votre PC.

Ouvrez, DB Browser pour SQLite et cliquez sur «Ouvrir la base de données» et ouvrez la base de données. entrez la description de l'image ici

Dans le cas de l'exemple ci-dessus, vous devez localiser " todolist " NOT "todolist-shm" ni "todolist-wal"

Si vous n'exportez pas les 3 fichiers de base de données (nom_base, nom_base-shm & nom_base-wal, où nom_base = nom de la base de données), vous ne pourrez pas lire la base de données.

EdgeDev
la source
C'est ce que je cherchais .. Exactement ce qu'il fallait! Merci @EdgeDev
Kannan_SJD
19

Personnellement, j'utilise la base de données de débogage Android

Android Debug Database est une bibliothèque puissante pour le débogage des bases de données et des préférences partagées dans les applications Android.

Démarrage rapide

Ajoutez ceci à la build.gradle de votre application

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

Démarrez simplement l'application, vous verrez dans le logcat une entrée comme suit:

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

entrez la description de l'image ici


entrez la description de l'image ici


Pour plus d' informations consulter le github repo

chebaby
la source
1
C'est le meilleur moyen car pas besoin de rooter l'appareil
Sunil
1
Hou la la! Des trucs incroyables !! Merci mec!!
Barakuda
10

15 avril 2020 - Pour simplifier, suivez ces étapes:

  1. Téléchargez le programme SQLiteBrowser: Téléchargez SQLite pour tous les systèmes d'exploitation
  2. Cliquez sur "Device Exploler" où se trouve le coin inférieur droit sur Android Studio.
  3. Vous verrez beaucoup de fichiers. Ne t'inquiète pas! Suivez le chemin: data / data / {votre nom de package d'application}
  4. Faites un clic droit sur "bases de données" et Enregistrer sous sur votre ordinateur.
  5. Ouvrez SQLiteBrowser et cliquez sur "Ouvrir la base de données" puis choisissez le fichier qui porte le même nom que le nom de votre base de données.
  6. Vous pouvez voir les fichiers et sélectionner celui qui porte le même nom avec le nom de votre table de base de données.
  7. Étape finale, vous pouvez voir l'option "Parcourir les données" à côté de l'option Structure de la base de données. Lorsque vous la sélectionnez, vous pouvez voir vos données de base de données.

Vous pouvez voir les étapes et suivre simplement les chiffres sur l'image ci-dessous

Vous pouvez voir les étapes sur l'image.

@canerkaseler

canerkaseler
la source
7

Utilisez Stetho .

Ajoutez-le à votre projet Android en tant que dependency .

Appelez Stetho.initializeWithDefaults(this)votre Applicationet affichez votre base de données à l'aide de l'outil d'inspection de chrome. Entrez ce qui suit dans votre barre d'URL Chrome:chrome://inspect .

Presto! Vous pouvez voir votre Room database.

Izak
la source
3

Je l'ai fait en suivant les étapes:

1) Téléchargez le navigateur db à partir du lien suivant.

https://sqlitebrowser.org/

2) Allez dans Device File Explorer à partir de l'IDE et copiez trois fichiers générés comme entrez la description de l'image ici et sélectionnez les trois fichiers: votre-db, votre-db-shm, votre-db-wal

appuyez sur ctrl + shift + s et collez-le dans un dossier. Terminé.

3) ouvrez enfin votre-db avec l'application DbBrowser.

100RaBH
la source
merci, devez sélectionner les trois fichiers: * -db, * -db-shm, * -db-wal
xyz
2

Avec la dernière version d' Android Studio 4.1 Canary , Android Studio fournit un nouvel outil appelé Database Inspector .

Vous pouvez utiliser cet outil Inspecteur de base de données pour afficher le fichier de base de données et son contenu, vous pouvez également modifier le contenu de la base de données.

entrez la description de l'image ici

Si vous utilisez, Room Persistenceil offre également une fonction d'exécution @Querydans Android Studio. Vous pouvez voir le bouton d'exécution sur le côté gauche de l' @Queryannotation.

entrez la description de l'image ici

Si vous utilisez, LiveDatail reflétera en direct les modifications du contenu de la base de données,

entrez la description de l'image ici

Chandan Sharma
la source
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
la source
1

Avec Android Studio 4.1 Canary 6 et supérieur, vous pouvez inspecter, interroger et modifier les bases de données de votre application à l'aide du nouvel inspecteur de base de données. Par exemple, vous pouvez déboguer votre application en cours d'exécution en modifiant les valeurs de votre base de données et en testant ces modifications sur l'appareil.

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

Jeffrey Liu
la source
Cela devrait être la réponse officielle.
Amit Sharma
0

J'ai récemment essayé Sethto By Facebook .

Stetho est un pont de débogage sophistiqué pour les applications Android. Lorsqu'elle est activée, les développeurs ont accès à la fonctionnalité Chrome Developer Tools qui fait partie nativement du navigateur de bureau Chrome

Il vous suffit d'inclure sa dépendance gradle et d'appeler MainApp. C'est ça. Vous avez accès à tous les outils de la fenêtre Chrome en utilisantchrome://inspect/ notamment votre base de données sqlite.

Voici une capture d'écran inspectée par la base de données de la salle sur l'émulateur. Je n'ai essayé que dans l'émulateur jusqu'à présent.

entrez la description de l'image ici

Ajji
la source
0

après avoir obtenu votre base de données (3 fichiers) à partir de Device File Explorar comme les commentaires ci-dessus

Je recommande vraiment un programme simple comme l'utilisation de "DB Browser for SQLite" https://sqlitebrowser.org/

Amr263
la source