parcourir les données dans la firebase database Android SQLite

Y a-t-il un moyen pour un utilisateur Android de parcourir les bases de données SQLite sur son téléphone et d’afficher les données dans les bases de données?

J’utilise beaucoup le programme bêta de SoftTrace. C’est génial mais je n’ai aucun moyen de télécharger les données stockées sur un PC.

La firebase database d’une application spécifique se trouve dans /data/data/[packagename]/databases

Le nom de package est le package que vous définissez dans votre manifeste, par exemple /data/data/org.vimtips.supacount/databases/counts.db .

Vous pouvez l’afficher avec le adb shell et tapez sqlite3 /data/data/org.vimtips.supacount/databases/counts.db

Ou vous pouvez le retirer de l’appareil pour l’examiner avec un utilitaire tiers, avec une commande comme adb pull /data/data/org.vimtips.supacount/databases/counts.db . .

Cela suppose que vous ayez la permission de voir la firebase database, ce que vous n’avez peut-être pas si vous n’avez pas écrit l’application vous-même … mais dans ce cas, s’agit-il d’une question de programmation?

Si vous utilisez Eclipse, vous pouvez utiliser un plug-in appelé «Questoid SQLite Browser» pour parcourir la firebase database SQL Lite sur votre émulateur Android:

  1. Installer le plugin
  2. Redémarrer l’éclipse
  3. Démarrez votre émulateur
  4. Passer au DDMS
  5. Ouvrir la firebase database avec le plugin (comme @synic mentionné précédemment, la firebase database se trouve ici par exemple / data / data / my_project / databases)

Voici un tutoriel plus détaillé: http://www.tylerfrankenstein.com/browse-android-emulator-sqlite-database-eclipse

Voici la méthode free qui a fonctionné pour moi sur un téléphone qui is not rooted . Le crédit va à cette réponse SO .

  1. Utilisez la adb backup -f backup.ab -noapk app.package.name
  2. Sous Windows, téléchargez ici le Android Backup Extractor jar Android Backup Extractor présent sur SourceForge, puis exécutez java -jar abe.jar unpack backup.ab extractedbackup.tar . Sous Linux, vous pouvez suivre les instructions dd de la réponse à laquelle j’ai donné crédit au début.
  3. Téléchargez ici le SQLite Database Browser de SQLite Database Browser partir de SourceForge, puis ouvrez le fichier db contenu dans le fichier extractedbackup.tar .

Personnellement, pour faciliter ce processus, j’ai d’abord ajouté adb à mon environnement PATH. Ensuite, j’ai créé un dossier de sauvegarde dans lequel je stocke tous les fichiers mentionnés ci-dessus. Cela m’empêche de devoir cd (changer de répertoire) partout.

Le plugin Questoid semble coûter 9 $ et nécessite une inscription. Une autre alternative sous Windows consiste à télécharger le navigateur SQLLite de domaine public à source ouverte (lien ci-dessous), puis à extraire la firebase database du téléphone. Dans Eclipse, vous pouvez le faire depuis le navigateur de fichiers, en allant dans le répertoire / data / data / [nom_package] / databases du téléphone ou de l’émulateur, puis en cliquant sur “Extraire un fichier du périphérique” en haut à droite. Enregistrez la firebase database localement, puis ouvrez-la avec le navigateur SQLite.

http://sourceforge.net/projects/sqlitedbrowser/

En fait, la manière la plus disponible (mais toujours la plus novasortingce) d’obtenir des résultats “en direct” à partir d’une firebase database tout en développant sur un émulateur que j’ai trouvé est la suivante:

  1. Créer un script pour extraire la firebase database de l’émulateur, quelque chose comme ça

     #!/bin/bash ANDROID_HOME=/path/to/sdk ADB=$ANDROID_HOME/platform-tools/adb REMOTE_DB_PATH=/data/data/com.yourpackage.name/databases/your_db LOCAL_DB_PATH=. while true; do echo copying DB... `$ADB pull $REMOTE_DB_PATH $LOCAL_DB_PATH` sleep 3 done 

    Exécuter.

  2. Installer le plugin SQLite Manager pour Firefox

  3. Ouvrez votre copie locale de la firebase database (qui est constamment remplacée par le script en cours d’exécution à l’étape 1)

  4. Entrez votre SQL:

    entrer la description de l'image ici

  5. Sélectionnez File->Reconnect

  6. Cliquez sur Run SQL

L’astuce principale est que la reconnexion ne réinitialise pas le code SQL entré à l’étape 4 (comme dans SQLite Browser , par exemple), vous pouvez donc répéter les étapes 5 et 6 pour voir les résultats “en direct” de votre firebase database Android.

Notez que cela ne fonctionne que pour un émulateur, cela ne fonctionnera pas pour un périphérique réel (même root).

Vous pouvez visualiser votre firebase database depuis votre application en utilisant cette bibliothèque. https://github.com/sanathp/DatabaseManager_For_Android

Avec cette bibliothèque, vous pouvez gérer la firebase database SQLite de votre application depuis votre application. vous pouvez afficher les tables de votre firebase database d’applications, mettre à jour, supprimer, insérer des lignes dans vos tables

C’est un fichier d’activité java unique, il suffit d’append le fichier java à votre dossier source. Une fois le développement terminé, supprimez le fichier java de votre dossier src.

Cela m’a beaucoup aidé. J’espère que ça vous aide aussi.

Vous pouvez voir la démo de 1 minute ici: http://youtu.be/P5vpaGoBlBY

Si vous avez eu la chance d’obtenir IntelliJ Ultimate, vous pouvez alors twigr le périphérique, ouvrir l’onglet “Base de données” à droite, cliquer sur +, sélectionner SQLite. Le rest est sortingvial.

Une chose à garder à l’esprit est que vous devez continuer à cliquer sur le bouton “Synchroniser” sur la firebase database (ou sur la table sélectionnée) pour voir les modifications apscopes en externe, ce qui est très ennuyeux.

Voir cette réponse. Vous pouvez utiliser la bibliothèque Stetho de Facebook, puis naviguer dans votre firebase database depuis Chrome 🙂