Я создал базу данных sqlite программно со стандартным способом расширения SQLiteOpenHelper
и замены onCreate()
. Таким образом, база данных создается на лету, когда это необходимо.
Я хотел бы проверить содержимое файла db на моем компьютере с OS X с помощью браузера sqlite. Я знаю имя файла db, но не могу найти его на устройстве. Я подключился к устройству через USB и посмотрел с помощью Finder и терминала, но я просто не могу найти файл db.
Какое расположение по умолчанию для баз данных sqlite на устройстве Android?
Ответы:
Вы можете найти созданную вами базу данных с именем
<your-database-name>
в
Вытащите его с помощью File Explorer и переименуйте в расширение .db3, чтобы использовать его в SQLiteExplorer.
Используйте File Explorer DDMS, чтобы перейти в каталог эмулятора.
источник
700
. Чтобы его увидеть, вам нужны права root.Для этого я сделал
И для этого ваше приложение должно иметь разрешение на доступ к SD-карте, добавьте следующий параметр в свой manifest.xml
Не блестящий способ, но работает.
источник
Контекст содержит множество функций пути: Context.getXXXPath ()
Одна из них - android.content.Context.getDatabasePath (String dbname), которая возвращает абсолютный путь к базе данных с именем dbname.
Возвращенный путь в этом случае будет примерно таким:
Обратите внимание, что этот путь создается автоматически при использовании SQLiteOpenHelper для открытия БД.
источник
Если вы говорите о
/data/data/<application-package-name>
недоступном реальном устройстве . У вас должны быть root права ...источник
sudo su
Это старый вопрос, но ответ может помочь другим.
Путь по умолчанию, по которому Android сохраняет базы данных, нельзя использовать на некорневых устройствах. Итак, самый простой способ получить доступ к файлу базы данных (только для сред отладки) - изменить конструктор класса:
Не забудьте изменить производственную среду с помощью этих строк:
источник
Failed to open database '/mnt/sdcard/itens'.
вLogcat
/data/data/packagename/databases/
т.е.
/data/data/com.example.program/databases/
источник
База данных SQLite - это просто файл. Вы можете взять этот файл, переместить его и даже скопировать в другую систему (например, со своего телефона на рабочую станцию), и он будет работать нормально. Android сохраняет файл в
/data/data/packagename/databases/
каталоге. Вы можете использоватьadb command
илиFile Explorer view
в Eclipse (Window > Show View > Other... > Android > File Explorer
) для просмотра, перемещения или удаления.источник
что ж, это может быть поздно, но это поможет. Вы можете получить доступ к базе данных без рутирования своего устройства через adb
запустите adb с помощью cmd и введите следующие команды
Теперь вы можете открыться отсюда.
источник
Если вы назовете свою базу данных как файл без указания пути, тогда наиболее распространенный способ получить ее папку выглядит так:
где
DBAdapter.DATABASE_NAME
простоString
"mydatabase.db".Context.getFilesDir()
возвращает путь к файлам приложения, например:/data/data/<your.app.packagename>/files/
вот почему вам нужно.getParent()+"/databases/"
удалить «файлы» и вместо этого добавить «базы данных».Кстати, Eclipse предупредит вас о жестко запрограммированной строке «data / data /», но не в этом случае.
источник
И проверьте, хранится ли ваша база данных в хранилище устройства. Если это так, вы должны использовать разрешение в Manifest.xml:
источник
Вы можете получить к нему доступ, используя инструкции по adb shell
Контент по ссылке выше:
источник
Если ваше приложение создает базу данных, эта база данных по умолчанию сохраняется в каталоге
DATA/data/APP_NAME/databases/FILENAME.
Части указанного выше каталога построены на основе следующих правил. DATA - это путь, который возвращает метод Environment.getDataDirectory (). APP_NAME - это имя вашего приложения. FILENAME - это имя, которое вы указываете в коде приложения для базы данных.
источник
Вы также можете проверить, есть ли в вашей среде IDE такая утилита, как перспектива DDMS Eclipse, которая позволяет вам просматривать каталог и / или копировать файлы в и из эмулятора или корневого устройства.
источник
Определите имя вашей базы данных, например:
И вы можете увидеть свою базу данных в:
источник
Не кодируйте жестко "/ sdcard /"; вместо этого используйте Environment.getExternalStorageDirectory (). getPath ()
источник
Не допускайте жесткого кодирования пути вроде
//data/data/<Your-Application-Package-Name>/databases/<your-database-name>
. Что ж, это работает в большинстве случаев, но это не работает на устройствах, где устройство может поддерживать нескольких пользователей. Путь может быть похожим//data/user/10/<Your-Application-Package-Name>/databases/<your-database-name>
. Возможное решение этой проблемы - использованиеcontext.getDatabasePath(<your-database-name>)
.источник