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

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

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

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

Solutions Collecting From Web of "Зачем использовать базу данных sqlite в Android?"

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

Плюсы:

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

Минусы:

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

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

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

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

http://ormlite.com/

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

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

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

> 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.