Intereting Posts
Как получить имя файла и расширение при открытии вложения электронной почты Доступ к файлам с карты genymotion sd Панель кнопок Android внизу и просмотр прокрутки с диалоговой темой Запрос ресурса не удался, потому что он сложный Ошибка рендеринга в предварительном просмотре XML: Не удается найти режим 0 Android изменить цвет текста элементов в прядильщике Android: как программно настроить параметры измерения размера XML Выбрав изображение из URL-адреса, он показывает java.net.UnknownHostException: Host не разрешен в устройстве Android? Сравнение изображений растровых изображений в Android Недоступен диалог диалога Как мы можем создать график зависимостей Dagger 2? OnHoverListener не работает в Android Как установить уровень масштабирования MapView в onCreate ()? Установите windowTranslucentStatus = true, когда android lollipop или выше «Java: пакет org.apache.cordova не существует» при компиляции Cordova в Android Studio

Сохранение всего пакета в SharedPreferences

Предполагая, что мой метод был передан Bundle, уже заполненным данными для сохранения, есть ли способ сохранить его в SharedPreferences, не разделяя его на ints, floats, Strings и т. Д.?

Я предпочитаю удобство написания / фиксации всего этого «одним махом», поэтому, если это невозможно с помощью SharedPreferences , какой другой подход к постоянному хранению вы бы порекомендовали?

Насколько я знаю, вы можете сохранить только примитивные данные (и их обертки) в SharedPreferences

Почему бы вам не создать свой собственный вспомогательный метод, который будет перебирать через Bundle и сохранять все значения из него в SharedPreferences?

SharedPreferences сериализуются в XML, поэтому вы можете использовать только простые типы. Вам придется либо сделать собственное преобразование пакета в отдельные свойства SharePreferences, либо сериализовать пакет другим способом на диск.

Вот хороший справочный документ, в котором обсуждаются различные возможности хранения данных в Android: http://developer.android.com/guide/topics/data/data-storage.html