2015-07-17 4 views
2

Каков наилучший способ сохранения JSON между жизненными циклами приложений Android? Прямо сейчас я использую службу отдыха, чтобы вернуть JSON. Я использую этот JSON в качестве поставщика данных для диаграммы javascript. Я загружаю большое количество веб-просмотров. Я не хочу постоянно нажимать на сервер, чтобы запросить JSON, вместо этого я хочу кэшировать его и извлекать, когда это необходимо, чтобы пользователь мог вручную обновлять/обновлять данные.Общие предпочтения против SQLite для кеширования JSON

Должен ли я делать это с помощью общих настроек или я должен придерживаться таблицы SQLite? Моя основная проблема заключается в том, что все еще можно получить сохраненные данные даже после того, как приложение было убито/перезапущено. У меня также есть большое количество JSON и вы хотите знать, какая из них будет самой эффективной.

+0

Для небольших данных вы можете использовать SharedPreferences и/или большие данные, которые вы можете использовать Sqlite – Sushrita

ответ

4

Это зависит от Насколько велика вам данные

SharedPrefences

Хранить личные примитивные данные в пар ключ-значение.

Если вы хотите просто сохранить 2-3 переменных и целое число, boolean sharedPreferences будет делать трюк.

Sqlite

Хранить структурированные данные в частной базе данных.

Если данные содержат большое количество элемента, как вы заполнение ListView его лучше реализовать SQLite, как данные хранятся в более организовать заказ, вы можете установить идентификатор для этих данных (например, вы можете установить идентификатор как сегодняшние дату и проверку, если текущая дата больше, чем идентификатор, тогда вам может понадобиться обновить) вместе с ней есть несколько мощных классов, которые помогут вам как CursorAdapter и Cursor

0

Если вы хотите сделать все просто, тогда вы должны сохранить JSON Response string в SharedPrefence, ассоциирующий ключ с JSON.

Его легко получить от SharedPrefence. Вы можете просто проверить, что данный KEY присутствует или нет в ShredPrefence, , если нет, то вы можете попасть на сервер, иначе получите ответ JSON от ShredPrefence.

Когда пользователь вручную обновляет, обновите JSON Response в SHaredPrefence.

Смежные вопросы