Расположение базы данных sqlite на устройстве - PullRequest
95 голосов
/ 15 декабря 2010

Я создал базу данных sqlite программным способом с расширением по умолчанию SQLiteOpenHelper и переопределением onCreate(). Таким образом, БД создается на лету, когда это необходимо.

Я бы хотел проверить содержимое файла db на моем компьютере с OS X с помощью браузера sqlite. Я знаю имя файла базы данных, но не могу найти его на устройстве. Я подключился к устройству через USB и посмотрел с помощью поиска и терминала, но я просто не могу найти файл БД.

Каково расположение по умолчанию для баз данных sqlite на устройстве Android?

Ответы [ 15 ]

3 голосов
/ 18 ноября 2012

Вы можете получить к нему доступ, используя adb shell How-to

Содержание ссылки сверху:

Учебное пособие: Как получить доступ к базе данных Android с помощью командной строки. Когда вы начинаете работать с базой данных в вашей программе, это действительно важно и полезно иметь доступ к нему напрямую, вне программа, чтобы проверить, что программа только что сделала, и отладить.

И это важно также на Android.

Вот как это сделать:

1) Запустите эмулятор (или подключите ваше реальное устройство к ПК). я обычно для этого запускаю одну из моих программ из Eclipse. 2) Запустить командная строка в каталоге инструментов Android. 3) наберите adb shell. это запустит оболочку Unix на вашем эмуляторе / подключенном устройстве. 4) иди в каталог, где находится ваша база данных: CD данные / данные здесь у вас есть список всех приложений на вашем устройстве Перейти в вашем приложении каталог (будьте осторожны, Unix чувствителен к регистру !!) CD com.alocaly.LetterGame и перейдите в каталог баз данных: cd базы данных Здесь вы можете найти все свои базы данных. В моем случае есть только один (сейчас): SCORE_DB 5) Запустите sqlite в базе данных, которую вы хотите проверить / изменить: sqlite3 SCORE_DB Отсюда вы можете проверить, что присутствуют таблицы: .tables 6) введите любую инструкцию SQL, которую вы хотите: выберите * из счета;

Это довольно просто, но каждый раз, когда мне это нужно, я не знаю, куда найди это.

1 голос
/ 05 июня 2014

Если ваше приложение создает базу данных, эта база данных по умолчанию сохраняется в каталоге DATA/data/APP_NAME/databases/FILENAME.

Части вышеупомянутого каталога построены на основе следующих правил. DATA - это путь, который возвращает метод Environment.getDataDirectory (). APP_NAME - это имя вашего приложения. FILENAME - это имя, которое вы указываете в коде приложения для базы данных.

0 голосов
/ 28 февраля 2017

открытый класс MySQLiteOpenHelper extends SQLiteOpenHelper {MySQLiteOpenHelper (Context context) {super (context, "/mnt/sdcard/database_name.db", null, 0);}}

Не указывайте "/ sdcard /";используйте взамен Environment.getExternalStorageDirectory (). getPath ()

0 голосов
/ 23 мая 2014

Определите имя вашей базы данных как:

private static final String DATABASE_NAME = "/mnt/sdcard/hri_database.db";

И вы можете увидеть свою базу данных в:

storage/sdcard0/yourdatabasename.db
0 голосов
/ 06 февраля 2013

Вы также можете проверить, есть ли в вашей среде IDE такая утилита, как перспектива Eclipse DDMS, которая позволяет просматривать каталог и / или копировать файлы в эмулятор или из корневого устройства и из него.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...