Расширяемый доступ к базе данных sqlite на платформе Android - PullRequest
1 голос
/ 10 января 2011

Я довольно новичок в Android SDK и базах данных и уже давно ищу ответ на этот вопрос.

Я пытаюсь создать приложение с несколькими таблицами в базе данных. например один для оружия, доспехов и т. д.

Однако мой класс DatabaseManager, который обрабатывает все мои создания таблиц, внутренний класс DatabaseHelper и заполнение данных, создается для очень большого класса, требующего высокого обслуживания. Каждый раз, когда я хочу добавить или удалить столбец таблицы, мне нужно изменить несколько областей кода, - Каждая ссылка на добавление строки в этой таблице с данными - метод, который вызывает выше - метод, возвращающий все строки базы данных - код во вспомогательном классе, создающем таблицу - Любые конкретные методы обновления

Мой вопрос такой: Конечно, должен быть какой-то лучший способ кодирования этой системы, возможно, использование базы данных - не лучший способ, или я просто не привык к таким большим классам, которые только изучали Java в университете, и мой самый большой класс состоял из 400 человек. -600 строк кода.

Спасибо за любую помощь!

1 Ответ

0 голосов
/ 10 января 2011

Вы можете использовать генерацию исходного кода, например, что предоставлено jOOQ .См. страницу примеров .Когда вы генерируете исходный код из своей базы данных разработки, вы можете быть уверены, что ваш код Java, обращающийся к базовой базе данных, всегда будет обновлен.Если что-то структурно изменится в базе данных, у вас будут ошибки компиляции во всех соответствующих местах.Таким образом, вы можете быть уверены, что ничего не забудете.

С другой стороны, если вы добавите поле в таблицу и хотите вставить / обновить эту таблицу, это поле будет автоматически учитываться во всехоператоры вставки / обновления.

В дополнение к вышеперечисленным преимуществам вы можете использовать выбранную вами среду IDE (например, Eclipse ), чтобы обеспечить автоматическое завершение для формулировки ваших операторов SQL.

Обратите внимание, что поддержка SQLite все еще немного экспериментальна в jOOQ.Любые отзывы приветствуются!

...