Android - лучший способ ссылаться на данные в базе данных - PullRequest
0 голосов
/ 28 июля 2011

У меня есть приложение, которое использует базу данных sqlite. В настоящее время у меня есть вспомогательный класс базы данных, который я вызываю из своего основного класса для доступа к базе данных. Затем я временно сохраняю полученные предметы в курсоре. Каждый раз, когда я хочу получить доступ к своей базе данных, мне нужно открыть базу данных, создать новый курсор, запросить базу данных и добавить результаты в курсор, вытащить информацию из курсора, закрыть курсор, закрыть базу данных, а затем отобразить на Пользователь.

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

Мне было интересно, должен ли я изменить свой код, чтобы сделать что-то вроде: Открытая БД Сохранить все данные в курсоре закрыть дБ

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

Или лучше хранить данные в массиве, например: открыть дб сохранить данные в курсор перебрать курсор и сохранить данные в массив закрыть курсор закрыть дБ

Какая разница (время обработки и использование памяти) между ними, и есть ли еще более эффективный способ сделать это, используя наименьшее количество ресурсов? Это быстрее использовать массив или курсор? Я не хочу тратить время процессора на вызов ненужных функций или использовать больше памяти для хранения раздутых объектов.

1 Ответ

1 голос
/ 28 июля 2011

В вашей деятельности, если вы хотите выполнить запрос выбора один раз, и вы используете эти данные для своей деятельности, тогда вам нужно сделать ArrayList or Hashmap из Курсора, а затем вы должны закрыть курсор.

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

Вы используете класс Helper, так что это лучший выбор, чтобы вам не пришлось задумываться об обработке.

когда вам захочется получить данные, просто создайте объект класса Helper, откройте соединение, выполните запрос и верните данные, извлеките данные из курсора в своей деятельности, обновите пользовательский интерфейс, закройте базу данных.

это нормальный и хороший способ.

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