Распределить БД с помощью apk?

1

В руководстве Dev для использования баз данных SQLite...

Рекомендуемым методом создания новой базы данных SQLite является создание подкласса SQLiteOpenHelper и переопределение метода onCreate(), в котором вы можете выполнить команду SQLite для создания таблиц в базе данных.

Как правило, это единственный способ сделать это, или можно включить предварительно созданный пустой (или даже частично заполненный) db дистрибутив apk? Очевидно, что я могу создать свою базу данных на своем ПК, а затем просто сгенерировать строки "CREATE TABLE" и вырезать/вставить в свой файл strings.xml, но мне было интересно об альтернативных подходах, которые могли бы сэкономить дополнительную работу.

EDIT: В ответ на ответ KevinDTimm, предполагая, что это возможно, как включить предустановленный SQLite db в дистрибутив apk? Любые примеры/указатели с благодарностью получили.

Спасибо.

Теги:

2 ответа

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

Метод, который я покажу вам, берет ваш собственный файл базы данных SQLite из папки "assets" и копий в путь к базе данных вашей системы приложения, поэтому API SQLiteDatabase может открыть и получить доступ к нему в обычном режиме.

Посмотрите здесь: Использование собственной базы данных sqlite в приложениях для Android

  • 0
    Благодарю. С тех пор как я опубликовал (и сделал свое редактирование), я обнаружил несколько сообщений, в которых говорилось, что папка ресурсов как-то задействована, но предоставленная вами ссылка помогла объяснить намного больше.
  • 0
    Рад, что помогает :)
1

Сделайте последнее. Нет причин создавать "на лету", если вы уже знаете полную структуру (и, возможно, содержимое) вашего db. Одним из заявленных преимуществ sqlite является возможность использования db между платформами, поэтому убедитесь, что вы используете эту силу, когда это возможно.

  • 0
    Спасибо за ответ. Причина, по которой я спросил, заключается в том, что я не уверен, где включить предварительно созданную базу данных в мой проект, чтобы она была включена в apk. Я разрабатываю с затмением, но не мог видеть, где его поставить, если это было возможно сделать.

Ещё вопросы

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