Я создал базу данных SQLite на устройстве Android. Программа может читать/записывать в базу данных, поэтому файл базы данных, очевидно, был создан. Для SQLiteDatabase.mPath установлено значение
db.mPath = "/data/data/dev.client.android/databases/clientDB.db"
но когда я просматриваю каталоги на устройстве, я не могу найти файл clientDB.db. Я заглянул в каталог данных, но он кажется пустым.
Кто-нибудь знает, что здесь может быть не так?
Если вы имеете в виду, что вы посетили /data
и ничего не нашли в нем, и вы изучаете обычную часть оборудования Android, что ожидается. У DDMS нет разрешения на просмотр /data
.
Однако, по крайней мере, если ваше приложение скомпилировано в режиме отладки, вы можете использовать команду adb pull
на консоли, чтобы загрузить файл напрямую.
попробуйте getDatabasePath на ContextWrapper (http://developer.android.com/reference/android/content/ContextWrapper.html). Если вы находитесь в классе Activity или Application, попробуйте:
File dbFile = getDatabasePath(MY_DB_NAME);
Log.i(dbFile.getAbsolutePath());
Просто предположить, что его значение в /data/data/my.package.name/databases/
плохо, поскольку нет гарантии, что данные не были перемещены на SD-карту, или устройство/ОС только что решили в другом каталоге данных.
В режиме отладки вы можете использовать adb shell и просматривать содержимое каталога. В оболочке вы можете вызвать sqlite3/data/data/dev.client.android/databases/clientDB.db для анализа БД.
filename.sqlite
но ничего не получил? Можешь сказать почему?