Android ChareedPreferences и Array
-
28-09-2019 - |
Вопрос
Я создал виджет погоды. Я храним его конфигурацию в SharedPreferences
. Отказ Виджет обновляется службой. Я держу информацию о погоде вместе с прогнозами в массиве. После того, как телефон выключен на ночь, я обнаружил, что значения массива уходят, может быть, система приостановлена? сервис. Есть ли способ хранить массив в SharePreferences
Так что это более липко.
Решение
Конечно - либо придумайте способ для сериализации / десериализации вашего объекта из строки, которую вы можете хранить в ShareDPreference (если это простой массив номеров, например, просто сделать быстрое разделение / присоединение к запятую; JSON Serialization/ десериализация может работать на несколько сложных данных) или использовать стандарт Java сериализация Чтобы превратить свой объект в Bytestream и Сохраните данные в файл что вы можете прочитать при необходимости. Если вы действительно работаете с большим количеством структурированных данных, хотя, серьезно рассмотрим использование превосходной встроенной поддержки Android для SQLite, хотя это немного больше работы.