我在Android设备上创建了一个SQLite数据库。程序可以读/写数据库,因此显然已经创建了数据库文件。 SQLiteDatabase.mPath设置为
db.mPath = "/data/data/dev.client.android/databases/clientDB.db"
但是当我浏览设备上的目录时,我找不到文件clientDB.db。我查看了数据目录,但似乎是空的。
有谁知道这里可能出现什么问题?
答案 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 来分析数据库。