Buscar datos en la base de datos SQLite de Android

¿Hay alguna manera para que un usuario de Android explore las bases de datos de SQLite en su teléfono y vea los datos en las bases de datos?

Yo uso el programa beta de SoftTrace mucho. Es genial, pero no tiene ninguna manera que puedo encontrar para descargar los datos que realiza un seguimiento a un PC.

La base de datos de una aplicación específica vive en /data/data/[packagename]/databases

El nombre de paquete es el paquete que define en su manifiesto, por ejemplo /data/data/org.vimtips.supacount/databases/counts.db .

Puede verlo con adb shell y escriba sqlite3 /data/data/org.vimtips.supacount/databases/counts.db

O puede extraerlo del dispositivo para verlo con una utilidad de terceros, con un comando como adb pull /data/data/org.vimtips.supacount/databases/counts.db . .

Esto supone que tiene permiso para ver la base de datos, que quizás no tenga si no escribió la aplicación usted mismo … pero en ese caso, ¿es realmente una pregunta de programación?

Si está utilizando Eclipse, puede usar un complemento llamado 'Questoid SQLite Browser' para navegar por la base de datos SQL Lite en su emulador de Android:

  1. Instalar el complemento
  2. Reiniciar el eclipse
  3. Inicie su emulador
  4. Cambiar a DDMS
  5. Abrir base de datos con plugin (como @synic mencionado anteriormente, el DB se encuentra aquí por ejemplo / data / data / my_project / databases)

Aquí está un tutorial más detallado: http://www.tylerfrankenstein.com/browse-android-emulator-sqlite-database-eclipse

Aquí está el método free que trabajó para mí en un teléfono que is not rooted . El crédito va a esta respuesta .

  1. Utilizar adb backup -f backup.ab -noapk app.package.name
  2. En Windows descargue el frasco Android Backup Extractor encontrado en SourceForge aquí , luego ejecute java -jar abe.jar unpack backup.ab extractedbackup.tar . En Linux puedes seguir las instrucciones dd de la respuesta a la que di crédito al principio.
  3. Descargar SQLite Database Browser de SourceForge aquí , a continuación, abra el archivo db contenido dentro de extractedbackup.tar .

Personalmente, para facilitar este proceso, primero agregé adb a mi entorno PATH. Luego hice una carpeta de copia de seguridad donde almacenar todos los archivos mencionados anteriormente. Esto me impide tener que cd (cambiar directorio) por todo el lugar.

El complemento Questoid parece costar $ 9 y requiere registrarse. Otra alternativa en Windows es descargar el explorador de código abierto de dominio público SQLLite (enlace a continuación) y luego tirar de la base de datos desde el teléfono. En Eclipse puede hacerlo desde el Navegador de archivos, yendo al directorio / data / data / [packagename] / bases de datos en el teléfono o emulador, y haciendo clic en "Extraer un archivo desde el dispositivo" en la parte superior derecha. Guarde la base de datos localmente y, a continuación, abra con el Navegador SQLite.

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

En realidad, la forma más disponible (pero todavía hacky) de obtener "en vivo" los resultados de una base de datos mientras se desarrolla en el emulador que he encontrado es la siguiente:

  1. Cree una secuencia de comandos para extraer la base de datos del emulador, algo así

     #!/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 

    Ejecutarlo.

  2. Instalar el complemento SQLite Manager para Firefox

  3. Abra su copia local de la base de datos (que es reemplazada constantemente por el script en ejecución desde el paso 1)

  4. Ingrese su SQL:

    Introduzca aquí la descripción de la imagen

  5. Seleccione File->Reconnect

  6. Haga clic en Run SQL

El truco clave es que la reconexión no restablece SQL introducido en el paso 4 (como lo hace, por ejemplo, en el Navegador de SQLite ), para que pueda repetir los pasos 5,6 para ver los resultados "en vivo" de su base de datos de android.

Tenga en cuenta que esto sólo funciona para el emulador, no funcionará para un dispositivo real (incluso uno enraizado).

Puede ver su base de datos desde su aplicación utilizando esta biblioteca. https://github.com/sanathp/DatabaseManager_For_Android

Con esta biblioteca puede administrar su base de datos SQLite de aplicaciones desde su propia aplicación. Puede ver las tablas en la base de datos de aplicaciones, actualizar, eliminar, insertar filas en sus tablas

Su un solo archivo de la actividad de Java, apenas agrega el archivo de java a su carpeta de fuente. Cuando se hace el desarrollo quite el archivo de java de su carpeta de la fuente thats él.

Me ayudó mucho. Espero que te ayude también.

Puedes ver la demostración de 1 minuto aquí: http://youtu.be/P5vpaGoBlBY

Si tuviste la suerte de obtener IntelliJ Ultimate entonces puedes conectar el dispositivo, abrir la pestaña "Database" a la derecha, hacer clic en +, seleccionar SQLite. El resto es trivial.

Una cosa a tener en cuenta es que tienes que seguir haciendo clic en el botón "Sincronizar" en la base de datos (o en la tabla seleccionada) para ver los cambios realizados externamente, lo cual es muy molesto.

Vea esta respuesta. Puedes usar la librería Stetho de Facebook y luego simplemente navegar en tu base de datos desde Chrome 🙂

  • Consulta SQLite muy lenta en Android
  • Cambiar la clave principal de una tabla en SQLite
  • No se puede abrir el directorio de datos en el teléfono Android con raíz
  • ¿Cómo determinas si una .sqlite o .sqback está dañada en Java?
  • Cómo guardar imágenes en la base de datos
  • Cómo convertir msgstore.db.crypt7 a msgstore.db desde whatsapp en android?
  • Cómo implementar Exportar sqlite Para sobresalir / archivo csv en android?
  • Android MediaStore obtiene distintas carpetas de archivos de música
  • Utilizar CursorLoader para consultar la base de datos SQLite y rellenar AutoCompleteTextView
  • Cómo obtener los nombres de todas las tablas presentes en una base de datos en Android lite de SQL
  • Obteniendo la última fila de la base de datos sqlite
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.