Android SQLite: куда мне скопировать файл .sqlite при первом запуске? - PullRequest
0 голосов
/ 19 июня 2011

Я следую Используя собственную базу данных SQLite в своих приложениях для Android , и в руководстве автор упомянул, что мне нужно скопировать файл sqlite в "системный путь по умолчанию":

//The Android's default system path of your application database.
private static String DB_PATH = "/data/data/YOUR_PACKAGE/databases/";

и метод:

/**
 * Copies your database from your local assets-folder to the just created empty database in the
 * system folder, from where it can be accessed and handled.
 * This is done by transfering bytestream.
 * */
private void copyDataBase() throws IOException{

Также читаю ветку: Все ли устройства Android имеют внутреннюю SD-карту

В принятом ответе указано:

Любое устройство с Android Market будет иметь как минимум 2 ГБ памяти в Environment.getExternalStorageDirectory (). Будь то SD-карта или что-то еще, зависит от устройства.

Так что мне интересно:

  1. Является ли "системный путь по умолчанию" таким же, как Environment.getExternalStorageDirectory ()
  2. Нужно ли заменить "/ data / data / YOUR_PACKAGE / database" на Environment.getExternalStorageDirectory () + "/ YOUR_PACKAGE / database"?

Я выполнил тест, чтобы распечатать результат Environment.getExternalStorageDirectory () на Motorola Milestone (тот, что с физической клавиатурой QWERTY), и он возвращает:

Dir: /sdcard

То есть они не одинаковы, но какой из них использовать для базы данных SQLite?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 19 июня 2011

Как уже говорилось, данные создаются на /data/data/YOUR_PACKAGE/databases/ Смотрите здесь метод getDatabasePath() возвращает путь к базе данных по умолчанию, что очень удобно.

0 голосов
/ 19 июня 2011

Приложения Android используют "/data/data/YOUR_PACKAGE/databases/" в качестве папки базы данных.Когда вы создадите свой класс, который расширяет SQLiteOpenHelper, он будет искать вашу таблицу в этой папке.

SDCard может использоваться для хранения дополнительных данных, но, как вы сказали, не на всех устройствах Android есть один.

С уважением, Стефан

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