Android: Where are database files stored?
I created a SQLite database on Android device. The program can read/write to database so the database file has obviously been created. The SQLiteDatabase.mPath is set to
db.mPath = "/data/data/dev.client.android/databases/clientDB.db"
but when I browse the directories on the device I can't locate the file clientDB.db. I looked inside data directory but it appears to be empty.
Does anyone know what could be wrong here?
Solution 1:
try getDatabasePath on ContextWrapper ( http://developer.android.com/reference/android/content/ContextWrapper.html ). If you are in an Activity or Application class try:
File dbFile = getDatabasePath(MY_DB_NAME);
Log.i(dbFile.getAbsolutePath());
Just assuming its in /data/data/my.package.name/databases/
is bad as there is no guarantee the data has not been moved to the SD card or the device/OS has just decided on a different data directory.
Solution 2:
If you mean you visited /data
and found nothing in it, and you are examining an ordinary piece of Android hardware, that is expected. DDMS does not have permission to browse through /data
.
However, at least if your app is compiled in debug mode, you can use the adb pull
command at the console to download your file directly.