我在Android设备上创建了一个SQLite数据库。程序可以读写数据库,因此数据库文件显然已经被创建。SQLiteDatabase.mPath被设置为
db.mPath = "/data/data/dev.client.android/databases/clientDB.db"
但是当我浏览设备上的目录时,无法找到文件clientDB.db。我查看了数据目录,但它似乎是空的。
有人知道这里可能出了什么问题吗?
如果您在Activity或Application类中,可以尝试在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卡上,或者设备/操作系统已经选择了不同的数据文件夹。
/data
,但在里面没找到任何内容,并且你是检查一个普通的Android硬件,那是正常的。DDMS没有权限浏览/data
文件夹。adb pull
命令直接下载你的文件。在调试模式下,您可以使用 adb shell 并浏览目录内容。 在 shell 中,可以调用 sqlite3 /data/data/dev.client.android/databases/clientDB.db 来分析数据库。
filename.sqlite
但是没有结果?你能告诉我为什么吗? - Vivek Warde/data
了。 - CommonsWare