Android: ¿Dónde se almacenan los archivos de la base de datos?

Creé una base de datos SQLite en un dispositivo Android. El progtwig puede leer / escribir en la base de datos, por lo que obviamente se creó el archivo de la base de datos. El SQLiteDatabase.mPath está configurado para

db.mPath = "/data/data/dev.client.android/databases/clientDB.db" 

pero cuando navego por los directorios en el dispositivo, no puedo encontrar el archivo clientDB.db. Miré en el directorio de datos pero parece estar vacío.

¿Alguien sabe qué podría estar mal aquí?

Si quiere decir que visitó /data y no encontró nada en él, y está examinando una pieza ordinaria de hardware de Android, eso es lo que se espera. DDMS no tiene permiso para navegar /data .

Sin embargo, al menos si su aplicación está comstackda en modo de depuración, puede usar el comando adb pull en la consola para descargar su archivo directamente.

Pruebe getDatabasePath en ContextWrapper ( http://developer.android.com/reference/android/content/ContextWrapper.html ). Si está en una clase de actividad o aplicación, intente:

 File dbFile = getDatabasePath(MY_DB_NAME); Log.i(dbFile.getAbsolutePath()); 

/data/data/my.package.name/databases/ está en /data/data/my.package.name/databases/ es malo, ya que no hay garantía de que los datos no se hayan movido a la tarjeta SD o que el dispositivo / sistema operativo haya decidido un directorio de datos diferente.

En el modo de depuración puede usar adb shell y explorar el contenido del directorio. En el shell, puede llamar a sqlite3 /data/data/dev.client.android/databases/clientDB.db para analizar la base de datos.