Как получать данные из хранилища до создания активности?
Для смены темы приложения я использую пользовательское значение Чтобы корректно произвести смену темы, необходимо получать данные о настройке до создания активности У меня было 3 варианта сохранения и чтения данных:
- SharedPreference
- ORM
- Свой SQLiteOpenHelper
Для получения доступа к преференсу требуется контекст, который не получается получить до создания активности, ORM требует прописать имя приложения в манифесте, которое уже занято моим файлом (в данной ситуации можно попробовать форкнуть код ORM, внести в него мой код и спокойно дать имя приложению в манифесте), SQLiteOpenHelper также требует контекст, который не получается получить до создания активности
Хотелось бы услышать возможные варианты получения данных, записанных ранее, до создания активности, в которой эти данные будут использоваться
Ответы (1 шт):
Активити - не первый компонент, создающийся при запуске приложения. У истока стоит объект Application, который имеет свой жизненный цикл. В частности - метод onCreate, вызывающийся до onCreate() главной активности, или любого другого компонента, который послужил точкой входа. В нем можно проинициализировать все, что надо. (Напомню, что у Application есть контекст). А вообще для этих целей есть Dagger/Hilt.