Android: где хранятся файлы базы данных?

43

Я создал базу данных SQLite на устройстве Android. Программа может читать/записывать в базу данных, поэтому файл базы данных, очевидно, был создан. Для SQLiteDatabase.mPath установлено значение

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

но когда я просматриваю каталоги на устройстве, я не могу найти файл clientDB.db. Я заглянул в каталог данных, но он кажется пустым.

Кто-нибудь знает, что здесь может быть не так?

Теги:
database

3 ответа

27
Лучший ответ

Если вы имеете в виду, что вы посетили /data и ничего не нашли в нем, и вы изучаете обычную часть оборудования Android, что ожидается. У DDMS нет разрешения на просмотр /data.

Однако, по крайней мере, если ваше приложение скомпилировано в режиме отладки, вы можете использовать команду adb pull на консоли, чтобы загрузить файл напрямую.

  • 0
    В моем файловом менеджере устройства я искал filename.sqlite но ничего не получил? Можешь сказать почему?
  • 0
    @VivekWarde: вы не можете просматривать внутреннее хранилище на рабочем устройстве.
Показать ещё 2 комментария
32

попробуйте 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-карту, или устройство/ОС только что решили в другом каталоге данных.

6

В режиме отладки вы можете использовать adb shell и просматривать содержимое каталога. В оболочке вы можете вызвать sqlite3/data/data/dev.client.android/databases/clientDB.db для анализа БД.

  • 0
    Я пытался набрать это на вкладке «Терминал» в Android Studio во время отладки приложения, но оно не распознало команду. Каталог приложения на моем компьютере был путь в консоли. Это где я должен вводить это?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню