стратегия сохранения данных в приложении blackberry

StackOverflow https://stackoverflow.com/questions/2142948

Вопрос

Я просматривал документацию Blackberry, и в ней описаны 3 различных механизма для сохранения данных приложения:

  1. API постоянного хранилища
  2. MIDP RMS API
  3. API файловой системы

Меня интересуют следующие вещи...

  1. Каковы плюсы / минусы каждого подхода
  2. Существует ли максимальный размер данных, которые могут быть сохранены?Меня беспокоит не столько размер отдельного объекта, сколько общий размер.Например, раньше для постоянного хранилища существовало ограничение в 64 КБ, но в последних версиях программного обеспечения это ограничение было расширено до нескольких МБ.Однако я не смог найти никаких сведений о максимальных размерах, которые могут быть сохранены.
  3. Считается ли один из подходов "лучшим способом" сохранения данных?
  4. Любые другие механизмы сохранения (такие как SQL-Lite), которые кто-нибудь мог бы предложить?
Это было полезно?

Решение

Мы используем API persistent store, потому что он действительно является постоянным даже при перезагрузке устройства.На самом деле это почти СЛИШКОМ настойчиво, поскольку ваши сохраненные данные не удаляются с устройства при удалении приложения (я думаю, если вы не сохраняете пользовательские объекты).Место для хранения ограничено только доступной флэш-памятью - квот для каждого приложения не существует.

Редактировать:удален неточный комментарий о RMS

Другие советы

Проблема с управлением правами заключается в том, что данные часто (но не всегда) не сохраняются при обновлении приложения.Поэтому, если вы используете RMS, пользователям, возможно, придется перенастраивать ваше приложение каждый раз при обновлении до новой сборки / версии.Это может вызывать беспокойство, а может и не вызывать.

ИМХО, лучший способ - это постоянное хранилище (если вы не возражаете против подписи кода), в противном случае это RMS.Следует иметь в виду одну вещь: хотя PS кажется намного проще, защита ваших постоянных данных от изменений в приложении снова усложняет задачу.Вот почему я храню свои классы конфигурационных данных отдельно от классов, которые на самом деле сохраняются.

Теперь, если вам нужно массовое хранилище в файловом стиле для чего-то более существенного, чем кэш или объект конфигурации, вы можете заглянуть в FileConnection API.Это дает вам гораздо больше потенциального места для хранения данных для работы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top