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.
En utilisant l'explorateur de fichiers, vous pouvez localiser votre fichier de base de données de cette manière :
data-->data-->votre.package.nom-->bases de données-->votrefichierdb.db
Ensuite, vous pouvez utiliser n'importe quel frontend SQLite pour explorer votre base de données. J'utilise l'addon Firefox SQLite Manager. Il est agréable, petit et rapide.
Il existe le navigateur Android SQLite pour Eclipse de TKlerx, et il est entièrement fonctionnel aux côtés d'Android Studio. Je le recommanderai, car il est extrêmement pratique.
Pour l'installer sur le Moniteur de Périphériques, il suffit de placer le fichier JAR dans [Chemin vers le dossier Android SDK]/sdk/tools/lib/monitor-[...]/plugins
.
J'ai trouvé une bibliothèque très simple stetho pour parcourir la base de données sqlite de l'application dans Chrome, voir
Premier post (https://stackoverflow.com/a/21151598/4244605) ne fonctionne pas pour moi.
J'ai écrit mon propre script pour obtenir le fichier de la base de données à partir de l'appareil. Sans root. Ça fonctionne bien.
~/android-sdk/platform-tools
)../getDB.sh -p
pour obtenir le nom des bases de données.Utilisation : ./getDB.sh -p -n -s
pour obtenir le fichier de la base de données dans ce répertoire (où le script est exécuté).
Je vous recommande de définir le nom de fichier de la base de données comme *.sqlite et de l'ouvrir avec l'addon Firefox : SQLite Manager.
(Cela fait longtemps que j'ai écrit quelque chose en Bash. Vous pouvez modifier ce code.)
#!/bin/sh
# Récupérer la base de données de l'appareil Android.
#
Hoption=false
Poption=false
Noption=false
Soption=false
Parg=""
Narg=""
Sarg=""
#-----------------------FONCTION-------------------------- :
helpFunc(){ #aide
echo "Obtenez les noms des fichiers de base de données dans votre application Android.
Utilisation : ./getDB -h
./getDB -p packageName -n nameOfDB -s storagePath
Options :
-h Afficher l'aide.
-p packageName Liste des bases de données pour le nom de package.
-p packageName -n nameOfDB -s storagePath Enregistrer la base de données de l'appareil dans ce répertoire."
}
#--------------------------PRINCIPAL-------------------------- :
while getopts 'p:n:s:h' options; do
case $options in
p) Poption=true
Parg=$OPTARG;;
n) Noption=true
Narg=$OPTARG;;
s) Soption=true
Sarg=$OPTARG;;
h) Hoption=true;;
esac
done
#echo "-------------------------------------------------------
#Hoption: $Hoption
#Poption: $Poption
#Noption: $Noption
#Soption: $Soption
#Parg: $Parg
#Narg: $Narg
#Sarg: $Sarg
#-------------------------------------------------------"\\n
#echo $# #count of params
if [ $Hoption = true ];then
helpFunc
elif [ $# -eq 2 -a $Poption = true ];then #liste
./adb -d shell run-as $Parg ls /data/data/$Parg/databases/
exit 0
elif [ $# -eq 6 -a $Poption = true -a $Noption = true -a $Soption = true ];then #obtenir le fichier de la base de données
#Changer les permissions
./adb shell run-as $Parg chmod 777 /data/data/$Parg/databases/
./adb shell run-as $Parg chmod 777 /data/data/$Parg/databases/$Narg
#Copier
./adb shell cp /data/data/$Parg/databases/$Narg $Sarg
#Tirer le fichier vers cette machine
./adb pull $Sarg/$Narg
exit 0
else
echo "Mauvais paramètres ou arguments. Utilisez -h pour obtenir de l'aide."
exit 1;
fi
exit 0;
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.