Данные виджета: ContentProvider или SharedPreferences? - PullRequest
2 голосов
/ 26 декабря 2010

Я занимаюсь разработкой виджета, он должен хранить данные как локально для экземпляра виджета, так и глобально для всех виджетов (кеш и общие данные).В настоящее время я использую PreferenceActivity, установив в своем файле sharedpreference значение MYAPPNAME + WIDGETID, затем сохраняю общие данные (4/5 переменных) в настройках MYAPPNAME.

Я видел множество примеров в сети, использующих ContentProvider для этогоцель, есть ли преимущество?Это быстрее или чем-то отличается от общих настроек?Извините, но это действительно не ясно.

1 Ответ

3 голосов
/ 26 декабря 2010

Моя рекомендация была бы в порядке предпочтения:

  1. SQLite (с или без поставщика контента)
  2. SharedPreferences

причина?Сделки.SharedPreferences просто хранятся в файле XML.SQLite является транзакционным.Я доверяю SQLite за целостность данных чуть больше, чем за файл XML.

Однако вам не нужен поставщик контента для управления данными в SQLite, хотя вы можете использовать его, если хотите.

...