Android:数据库文件存储在哪里?

时间:2009-07-09 17:05:35

标签: database android sqlite

我在Android设备上创建了一个SQLite数据库。程序可以读/写数据库,因此显然已经创建了数据库文件。 SQLiteDatabase.mPath设置为

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

但是当我浏览设备上的目录时,我找不到文件clientDB.db。我查看了数据目录,但似乎是空的。

有谁知道这里可能出现什么问题?

3 个答案:

答案 0 :(得分:33)

在ContextWrapper(http://developer.android.com/reference/android/content/ContextWrapper.html)上尝试getDatabasePath。如果您在Activity或Application类中,请尝试:

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

假设它在/data/data/my.package.name/databases/中是坏的,因为无法保证数据没有移动到SD卡或者设备/操作系统刚刚决定使用不同的数据目录。

答案 1 :(得分:28)

如果您的意思是您访问了/data但未发现任何内容,并且您正在检查普通的Android硬件,那是预期的。 DDMS无权浏览/data

但是,至少如果您的应用程序是在调试模式下编译的,您可以使用控制台上的adb pull命令直接下载文件。

答案 2 :(得分:6)

在调试模式下,您可以使用 adb shell 并浏览目录内容。在shell中,您可以调用 sqlite3 /data/data/dev.client.android/databases/clientDB.db 来分析数据库。