138 votes

Comment puis-je consulter la base de données SQLite sur un appareil Android?

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.

1voto

r4jiv007 Points 1065

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.

1voto

Henrique Sousa Points 363

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.

0voto

user3629588 Points 1

J'ai trouvé une bibliothèque très simple stetho pour parcourir la base de données sqlite de l'application dans Chrome, voir

0voto

t0m Points 931

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.

  1. Copiez le script dans le répertoire avec adb (par exemple : ~/android-sdk/platform-tools).
  2. L'appareil doit être connecté à un PC.
  3. Utilisez ./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.com

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.

Powered by:

X