Comment accéder au contenu des bases de données Android Emulator?

J'ai lu la réponse à une question sur la façon d'accéder au contenu des bases de données, mais je ne peux pas sembler l'utiliser sur ma machine. Voici le journal de shell:

C:\android-sdk-windows\tools>adb -s emulator-5554 shell # sqlite3 /data/data/com.android.demo.notepad2/databases/notes sqlite3 /data/data/com.android.demo.notepad2/databases/notes SQLite version 3.5.9 Enter ".help" for instructions sqlite> .tables .tables sqlite> ^C C:\android-sdk-windows\tools> 

SQLite échoue simplement mes commandes, même si le navigateur de fichiers Eclipse me dit qu'il existe. Si j'utilise l'outil sqlite3 et que j'utilise ".tables", les commandes sont acceptées.

  • Modification de l'image de ressource de Progress Bar
  • Le wifi et le 3G peuvent-ils travailler en même temps sur Android?
  • Chargez une activité en arrière-plan avant de l'afficher
  • Désactiver le zoom pincé dans WebView?
  • Percer un trou dans une superposition de rectangle avec l'accélération HW activée sur View
  • Android Ice Cream Sandwich Edittext: Désactivation de la vérification orthographique et de l'enveloppement des mots
  • La syntaxe SQLite est-elle différente de celle de l'émulateur? Est-ce que je manque quelque chose?

    (Désolé pour tant de questions, il ne semble pas y avoir de documentation cohérente sur Android!)

    Merci!

    4 Solutions collect form web for “Comment accéder au contenu des bases de données Android Emulator?”

    Je peux vous dire que cela fonctionne bien pour moi sur Android 2.0.1:

     $ adb shell # cd /data/data/apt.tutorial # ls lib databases shared_prefs # cd databases # ls lunchlist.db # sqlite3 lunchlist.db SQLite version 3.5.9 Enter ".help" for instructions sqlite> .tables android_metadata restaurants sqlite> .exit # exit 

    Vous pouvez toujours télécharger le fichier de base de données en utilisant DDMS ou adb pull et utiliser un client SQLite de bureau pour l'examiner. Par exemple, j'utilise le plugin SQLite Manager pour Firefox.

    Aussi, gardez à l'esprit que SQLite n'a pas d'extension de fichier par défaut, donc si votre base de données n'est pas une notes mais notes.db ou notes.sqlite ou quelque chose, vous devrez spécifier l'extension.

    Aussi, je n'ai pas essayé cela sur Windows, et il est possible qu'il y ait quelque chose de maladroit avec l'invite de commande Windows et le shell limité disponible sur les appareils Android qui cause votre difficulté.

    Si vous souhaitez émettre des instructions sqlite3 à partir de la ligne de commande, utilisez quelque chose comme

     $ adb -e shell sqlite3 -batch /data/data/com.example.dbsample/databases/db '.tables' android_metadata $ adb -e shell sqlite3 -batch /data/data/com.example.dbsample/databases/db 'select * from android_metadata;' en_US 

    Les avantages évidents sont que vous pouvez compter sur votre historique de shell et que vous pouvez l'utiliser dans des scripts.

    J'ai eu le même problème et j'ai découvert que, contrairement à la documentation, vous ne devriez pas mettre l'extension ".db" sur le nom du fichier de la base de données.

    Remarque: J'utilise les émulateurs win7 et 2.1.

    J'ai eu le même problème, j'ai passé presque une heure, publier ici afin de sauver quelqu'un d'autre, vérifier si vous avez donné le nom de fichier correct avec l'extension, il y a deux fichiers dans le dossier de bases de données myDB.db et myDB.db -Journal et quand j'ai couru
    "Sqlite3 /data/data/com.my.package/databases/myDB"
    et
    .les tables
    N'a répertorié rien, sqlite3 a créé un nouveau db avec le nom myDB, il n'a pas ouvert myDB.db

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.