Как получать данные из хранилища до создания активности?

Для смены темы приложения я использую пользовательское значение Чтобы корректно произвести смену темы, необходимо получать данные о настройке до создания активности У меня было 3 варианта сохранения и чтения данных:

  1. SharedPreference
  2. ORM
  3. Свой SQLiteOpenHelper

Для получения доступа к преференсу требуется контекст, который не получается получить до создания активности, ORM требует прописать имя приложения в манифесте, которое уже занято моим файлом (в данной ситуации можно попробовать форкнуть код ORM, внести в него мой код и спокойно дать имя приложению в манифесте), SQLiteOpenHelper также требует контекст, который не получается получить до создания активности

Хотелось бы услышать возможные варианты получения данных, записанных ранее, до создания активности, в которой эти данные будут использоваться


Ответы (1 шт):

Автор решения: Arcane Forever

Активити - не первый компонент, создающийся при запуске приложения. У истока стоит объект Application, который имеет свой жизненный цикл. В частности - метод onCreate, вызывающийся до onCreate() главной активности, или любого другого компонента, который послужил точкой входа. В нем можно проинициализировать все, что надо. (Напомню, что у Application есть контекст). А вообще для этих целей есть Dagger/Hilt.

→ Ссылка