¿Cómo puede acceder a los contenidos de las bases de datos de Android Emulator?

He leído la respuesta a una pregunta sobre cómo acceder al contenido de las bases de datos, sin embargo, no puedo conseguirlo para que funcione en mi máquina. Aquí está el registro del 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 simplemente hace eco de mis comandos de nuevo a mí, aunque el navegador de archivos Eclipse me dice que existe. Si utilizo la herramienta sqlite3 y utilizo ".tables" se aceptan los comandos.

¿Es la sintaxis de SQLite diferente a través del emulador es que me falta algo?

(Lo siento por tantas preguntas, no parece ser mucha documentación coherente en Android!)

¡Gracias!

Puedo decirte que funciona bien para mí en 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 

Siempre puede descargar el archivo de base de datos utilizando DDMS o adb pull y utilizar un cliente SQLite de escritorio para examinarlo. Por ejemplo, uso el complemento de SQLite Manager para Firefox.

Además, tenga en cuenta que SQLite no tiene una extensión de archivo predeterminada, por lo que si su base de datos no es notes pero notes.db o notes.sqlite o algo así, tendrá que especificar la extensión.

También, no he probado esto en Windows, y hay una posibilidad de que hay algo torpe con el indicador de comandos de Windows y la shell limitada disponible en dispositivos Android que está causando su dificultad.

Si desea publicar sentencias sqlite3 desde la línea de comandos, utilice algo como

 $ 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 

Las ventajas obvias son que usted puede confiar en su historia de la cáscara y usted puede utilizar esto en escrituras.

Tuve el mismo problema y descubrí que al contrario de la documentación no debería poner la extensión ".db" en el nombre de archivo de la base de datos.

Nota: Estoy usando el emulador de win7 y 2.1.

Tuve el mismo problema, pasé casi una hora, publicar aquí para que salve a alguien más tiempo, compruebe si ha dado el nombre de archivo correcto junto con la extensión, hay dos archivos en la carpeta de bases de datos myDB.db y myDB.db -journal y cuando corrí
"Sqlite3 /data/data/com.my.package/databases/myDB"
y
.mesas
Listó nada, sqlite3 creó un nuevo db con el nombre myDB, no abrió myDB.db

  • Intenta reabrir un objeto ya cerrado: sqlitequery
  • Java - java.lang.IllegalStateException: No se pudo leer la fila 0, col -1 de CursorWindow
  • Insertar datetime en la base de datos sqlite android
  • Android.database.sqlite.SQLiteException: Token no reconocido:
  • Cómo cifrar datos y almacenarlos en Sqlite Android
  • Inspeccionar android sqlite y IntelliJ
  • Cómo recuperar datos de la tabla secundaria con CursorLoader que carga datos de la tabla principal?
  • SQlite - Android - Sintaxis de clave extranjera
  • Android SQLiteConstraintException: código de error 19: error de restricción
  • Android: Guardar imágenes en la base de datos Sqlite
  • Cómo contar la fila de una tabla de base de datos sqlite android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.