Можем ли мы в Android сохранить объект класса в общих предпочтениях и получить объект позже?
Если можно, как это сделать? Если это невозможно, каковы другие возможности сделать это?
Я знаю, что сериализация - это один из вариантов, но я ищу возможности с использованием общих предпочтений.
android
object
sharedpreferences
androidGuy
источник
источник
Ответы:
Невозможно.
В SharedPrefences SharePreferences.Editor можно хранить только простые значения.
Что конкретно в классе вам нужно сохранить?
источник
Да, мы можем сделать это с помощью Gson
Скачать рабочий код с GitHub
Для сохранения
Для получения
Update1
Последнюю версию GSON можно загрузить с github.com/google/gson .
Обновление2
Если вы используете Gradle / Android Studio, просто введите следующее в
build.gradle
раздел зависимостей -источник
String json = gson.toJson("MyObject");
должен быть объект, а не строка.мы можем использовать Outputstream для вывода нашего объекта во внутреннюю память. И преобразовать в строку, а затем сохранить в предпочтении. Например:
когда нам нужно извлечь объект из предпочтений. Используйте код, как показано ниже
источник
У меня была такая же проблема, вот мое решение:
У меня есть класс MyClass и ArrayList <MyClass>, которые я хочу сохранить в общих настройках. Сначала я добавил в MyClass метод, который преобразует его в объект JSON:
Тогда вот способ сохранения объекта «ArrayList <MyClass> items»:
А вот метод получения объекта:
Обратите внимание, что StringSet в общих настройках доступен с API 11.
источник
Использование библиотеки Gson:
Хранить:
Получить:
источник
Вы можете сделать это с помощью
PowerPreference
библиотеки за 3 простых шага!https://github.com/AliAsadi/PowerPreference
1. Создать объект
2. Напишите в общие настройки
3. Получение объекта
источник
Используя этот объект -> TinyDB - Android-Shared-Preferences-Turbo, все очень просто. вы можете сохранить с ним большинство часто используемых объектов, таких как массивы, целые числа, списки строк и т. д.
источник
Вы можете использовать Комплексные настройки Android - библиотеку Фелипе Сильвестре для хранения ваших пользовательских объектов. По сути, он использует механизм GSON для хранения объектов.
Чтобы сохранить объект в prefs:
И чтобы вернуть его:
источник
Вы можете использовать GSON, используя Gradle Build.gradle:
Затем в вашем коде, например, пары строка / логическое значение с Kotlin:
Добавление в SharedPrefs:
Теперь, чтобы получить данные:
источник
Общие общие предпочтения (CURD) SharedPreference: хранить данные в виде пар значение-ключ с помощью простого класса Kotlin.
Хранение данных:
Для хранения данных String, Int и Boolean у нас есть три метода с одинаковым именем и разными параметрами (перегрузка метода).
Получение данных: для получения данных, хранящихся в SharedPreferences, используйте следующие методы.
Очистить все данные: чтобы очистить все SharedPreferences, используйте приведенный ниже код.
Удалить определенные данные:
Общий класс общих предпочтений
Блог: https://androidkeynotes.blogspot.com/2020/02/shared-preference.html
источник
Невозможно хранить объекты в SharedPreferences. Я создал общедоступный класс, поместил все необходимые параметры и создал сеттеры и геттеры, я смог получить доступ к своим объектам,
источник
Вам нужно получить объект даже после завершения работы приложения или просто во время его работы?
Вы можете сохранить его в базе данных.
Или просто создайте собственный класс приложения.
А затем из каждого занятия делайте:
Не совсем лучший способ, но он работает.
источник
Да. Вы можете сохранить и извлечь объект, используя Sharedpreference.
источник