Подтвердить что ты не робот

Зачем использовать базу данных sqlite в Android?

Почему мы используем базу данных sqlite в android. Я разрабатываю приложение для Android, где данные должны извлекаться с сервера и выполнять некоторые вычисления данных и показывать их в пользовательском интерфейсе.

Хорошо ли мне получать данные в базу данных sqlite и обновлять пользовательский интерфейс на регулярном интервале от sqlite в течение 20 минут или будет полезно отправить запрос Http-запроса на сервер и обновить данные из ответ на пользовательский интерфейс.

Я хотел знать, какой из них будет лучше и почему? Зачем привлекать DB SQL? Данные соответствуют некоторым табличным данным 40X40, на которых должна выполняться некоторая тяжелая математическая обработка, а затем отображаться в пользовательском интерфейсе (аналогично заявлению на фондовом рынке), и данные должны быть очищены каждые 12 часов. plz advice Rgds, Raul

4b9b3361

Ответ 1

Хорошо использовать базу данных в вашем случае.

Плюсы:

  • Если ваше приложение закрывается, данные в памяти будут потеряны, но после этого вы сможете восстановить состояние из базы данных, если у вас есть
  • Специально для сложных вычислений полезно сохранить результат один раз в базе данных и не пересчитывать его несколько раз по запросу
  • База данных отключит ваш пользовательский интерфейс от интернет-соединения, и вы сможете отображать результаты, даже если нет подключения к интернету
  • Используя базу данных, вы сможете получать обновленные данные из фоновой службы, не влияя на ваш пользовательский интерфейс.
  • Организация ваших данных в базе данных обычно упрощает управление всеми данными приложения.

Минусы:

  • Добавление базы данных потребует дополнительных усилий на вашей стороне.

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

Ответ 2

Это действительно дизайнерское решение, SQLite предлагает очень надежный способ организации и сохранения ваших данных, вы можете использовать только другие параметры для записи в файл или для сохранения в SharedPrefs, оба метода становятся намного сложнее управлять размер ваших данных начинает расти, так как вы должны вручную хранить список объектов и управлять их именами и т.д. и т.д. 40 x 40 табличных данных достаточно велики, чтобы оправдывать использование SQLite, даже если вы бросаете и воссоздаете таблицу каждые 12 часов.

Возможно, вам захочется использовать библиотеку ORM для упрощения выборки и сохранения данных из БД, ORMLite хорош и совместим с Android

http://ormlite.com/

Ответ 3

Если ваше приложение сильно зависит от интернет-соединения, вам не нужно буферизовать информацию в базе данных. Однако, если вы хотите использовать приложение, где у вас плохой сигнал или нет, вы можете использовать кешированные значения из базы данных sqlite. При медленном подключении к Интернету ваше приложение может быть невосприимчивым, поэтому кэширование может быть хорошей идеей, но это не обязательно в базе данных sqlite. Вы должны использовать базу данных sqlite для данных, которые требуются устройству часто, и это не имеет отношения к вашему серверному компоненту. Если данные обновляются часто, но только во время запуска приложения, вы можете захотеть кэшировать их в памяти устройств. Я предполагаю, что ваше приложение не работает все время в течение 12 часов, но вызывается регулярно, чтобы что-то проверить.

Ответ 4

12 часов - это долгое время, поэтому вместо того, чтобы оставлять данные в ОЗУ, я предлагаю вам использовать базу данных. Потому что вы никогда не знаете, когда вам может понадобиться прочитать его снова.

В противном случае, если ваша цель - загружать только данные, обрабатывать их и отображать в действии, тогда вам не нужно привлекать базу данных, потому что если ваше приложение закрыто (из-за пользователя или с низкой памятью), в любом случае ваше приложение будет загружать свежие данные с сервера... am я right?

Ответ 5

> update the UI on regular interval from the sqlite in evry 20 minutes 

Не ожидайте, что ваше приложение будет открыто для такой продолжительной продолжительности.

Чтобы точно указать на ваше дело

 Avoid DB 

 Fetch Data at app start or at appropriate time when app is opened 
 and save it in plain java objects.

 Define Methods within it that perform operation in it.

 Make map or list to save those POJO

 Define Seprate Controller Classes within your project to update map of pojo at any     
 specific change to make fresh data available to UI.