J'ai un ensemble de données dans une base de données SQLite. J'ai besoin de visualiser la base de données sur un appareil. Comment puis-je faire cela ?
J'ai vérifié en mode ddms. Les données dans l'explorateur de fichiers sont vides.
J'ai un ensemble de données dans une base de données SQLite. J'ai besoin de visualiser la base de données sur un appareil. Comment puis-je faire cela ?
J'ai vérifié en mode ddms. Les données dans l'explorateur de fichiers sont vides.
Voici les instructions étape par étape (principalement issues d'une combinaison des autres réponses). Cela fonctionne même sur les appareils qui ne sont pas rootés.
Connectez votre appareil et lancez l'application en mode débogage.
Vous pouvez utiliser adb -d shell "run-as com.votrepackage.nom ls /data/data/com.votrepackage.nom/databases/"
pour voir quel est le nom du fichier de la base de données.
Remarque : com.votrepackage.nom
est le nom de votre package d'application. Vous pouvez le trouver dans le fichier manifest.
Copiez le fichier de base de données de votre dossier d'application sur votre carte SD.
adb -d shell "run-as com.votrepackage.nom cat /data/data/com.votrepackage.nom/databases/nomfichier.sqlite > /sdcard/nomfichier.sqlite"
Remarque : nomfichier.sqlite est le nom de votre base de données que vous avez utilisé lors de sa création
Tirez les fichiers de base de données vers votre machine :
adb pull /sdcard/nomfichier.sqlite
Cela copiera la base de données de la carte SD à l'endroit où se trouve votre ADB.
Installez Firefox SQLite Manager : https://addons.mozilla.org/fr/firefox/addon/sqlite-manager/
Ouvrez Firefox SQLite Manager (Outils->SQLite Manager) et ouvrez votre fichier de base de données de l'étape 3 ci-dessus.
Profitez !
MISE À JOUR 2020
Inspecteur de base de données (pour la version 4.1 d'Android Studio). Lisez l'article de Medium
Pour les anciennes versions d'Android Studio, je recommande ces 3 options:
Dans le build.gradle:
dependencies {
// Noyau Stetho
compile 'com.facebook.stetho:stetho:1.5.1'
// Si vous voulez ajouter un assistant réseau
compile 'com.facebook.stetho:stetho-okhttp:1.5.1'
}
Initialisez la bibliothèque dans l'objet application:
Stetho.initializeWithDefaults(this);
Et vous pouvez voir votre base de données dans Chrome depuis chrome://inspect
La meilleure façon que j'ai trouvée jusqu'à présent est d'utiliser l'outil Android-Debug-Database.
C'est incroyablement simple à utiliser et à configurer, il suffit d'ajouter la dépendance et de se connecter à l'interface de la base de données du périphérique via le web. Pas besoin de rooter le téléphone ou d'ajouter des activités ou quoi que ce soit. Voici les étapes:
ÉTAPE 1
Ajoutez la dépendance suivante au fichier Gradle de votre application et lancez l'application.
debugCompile 'com.amitshekhar.android:debug-db:1.0.0'
ÉTAPE 2
Ouvrez votre navigateur et visitez l'adresse IP de votre téléphone sur le port 8080. L'URL devrait ressembler à: http://YOUR_PHONE_IP_ADDRESS:8080
. Vous serez présenté avec ce qui suit:
NOTE: Vous pouvez également toujours obtenir l'URL de l'adresse de débogage à partir de votre code en appelant la méthode DebugDB.getAddressLog();
Pour obtenir l'IP de mon téléphone, j'utilise actuellement Ping Tools, mais il existe de nombreuses alternatives.
ÉTAPE 3
C'est tout!
Plus de détails dans la documentation officielle: https://github.com/amitshekhariitbhu/Android-Debug-Database
La meilleure façon de visualiser et gérer votre base de données d'application Android est d'utiliser la bibliothèque DatabaseManager_For_Android.
C'est un seul fichier d'activité Java ; il suffit de l'ajouter à votre dossier source. Vous pouvez visualiser les tables de votre base de données d'application, mettre à jour, supprimer, insérer des lignes dans votre table. Tout cela depuis votre application.
Lorsque le développement est terminé, supprimez le fichier Java de votre dossier src. C'est tout.
Vous pouvez voir la démo de 5 minutes, Database Manager for Android SQLite Database .
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.