2010-05-20 18 views
8

¿Hay alguna herramienta que me permita buscar bases de datos en mi dispositivo Android? Algo así como Sql Management Studio: usted conoce la herramienta GUI que muestra bases de datos, tablas, filas en tablas, etc.Android: ¿visualiza bases de datos SQLite en el dispositivo?

Estoy usando Eclipse para el desarrollo (si es importante para las sugerencias de plug-ins).

Gracias!

+0

posible duplicado de [Herramienta para ver androide de bases de datos, tablas y datos] (http://stackoverflow.com/questions/2149438/tool-to-see -Android-Database-mesas-y-datos) – Thilo

Respuesta

2

Mi sugerencia es ejecutar la aplicación en el emulador (por lo que podría copiar el archivo db derecha desde el Explorador de archivos ADT) y luego ver con SQLite Manager Firefox plugin.

+4

¡No es bueno si estás investigando un error específico del dispositivo! – Timmmm

5

En primer lugar, usted no será capaz de 'Explorar' las bases de datos a menos que inició la sesión como root (hay varios tutoriales por ahí que explica cómo obtener root en Android). En segundo lugar, puede utilizar adb shell (ADB se incluye en el SDK), y cuando estás allí, puede utilizar el comando sqlite3 para buscar las bases de datos.

Por supuesto, sqlite3 no proporciona una GUI ... pero puede copiar la base de datos que desea buscar en su computadora y usar cualquier GUI para sqlite allí.

+5

para que quede claro, sin embargo, usted tiene que tener 'acceso a root' incluso utilizar sqlite3 de' shell' ADB – Matt

+0

Así es ... no era lo suficientemente clara. – Cristian

0

se puede descargar un plug-in "com.questoid.sqlitebrowser_1.2.0" .... Sólo pop en Google y descargarlo. Desde el menú desplegable hasta la carpeta de eclipse en ejecución, debajo de las carpetas de complementos. Al ejecutar la aplicación en el emulador, se podrá ver toda la información de base de datos en la sección de DDMS.

4

Si podemos hacer esto, pero en diferentes way.Using esta lógica obtendrá base de datos en SDcard.

 String sourceLocation = "/data/data/com.sample/databases/yourdb.sqlite" ;// Your database path 
     String destLocation = "yourdb.sqlite"; 
     try { 
      File sd = Environment.getExternalStorageDirectory(); 
      if(sd.canWrite()){ 
       File source=new File(sourceLocation); 
       File dest=new File(sd+"/"+destLocation); 
       if(!dest.exists()){ 
        dest.createNewFile(); 
       } 
       if(source.exists()){ 
        InputStream src=new FileInputStream(source); 
        OutputStream dst=new FileOutputStream(dest); 
        // Copy the bits from instream to outstream 
        byte[] buf = new byte[1024]; 
        int len; 
        while ((len = src.read(buf)) > 0) { 
         dst.write(buf, 0, len); 
        } 
        src.close(); 
        dst.close(); 
       } 
      } 
      return true; 
     } catch (Exception ex) { 
      ex.printStackTrace(); 
      return false; 
     } 

usted tiene que dar permiso

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
+0

'/ data/data' es un almacenamiento protegido por permiso. Se puede acceder solo en el emulador (quizás en teléfonos rooteados también). –

+0

Gracias. ¡¡NO estoy en un teléfono rooteado y esta solución funciona para mí !! –

Cuestiones relacionadas