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

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

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

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

有人知道这里可能是错的吗?

如果你的意思是你访问了/data并没有发现任何内容,那么你正在检查一个普通的Android硬件。 DDMS没有浏览/data权限。

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

尝试ContextWrapper上的getDatabasePath( http://developer.android.com/reference/android/content/ContextWrapper.html )。 如果您在“活动”或“应用程序”类中,请尝试:

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

假设它在/data/data/my.package.name/databases/是不好的,因为不能保证数据没有被移动到SD卡上,或者设备/操作系统已经决定了不同的数据目录。

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