我使用自定义值来更改应用程序的主题。要正确更改主题,您需要在创建活动之前获取设置数据。我有3个选项用于保存和读取数据:
- 共享偏好
- 甲骨文
- 自己的 SQLiteOpenHelper
要获取preference,需要一个context,在创建activity之前无法获取,ORM要求你在manifest中写下应用的名字,这个名字已经被我的文件占用了(这种情况,你可以试试fork ORM 代码,添加我的代码并在 manifest 中冷静地命名应用程序),SQLiteOpenHelper 还需要一个上下文,直到创建活动才能获得
我想听听在创建将使用此数据的活动之前获取数据的可能选项
活动不是应用程序启动时创建的第一个组件。源头是 Application 对象,它有自己的生命周期。特别是 onCreate 方法,它在主活动的 onCreate() 之前调用,或者作为入口点的任何其他组件。您可以在其中初始化您需要的所有内容。(回想一下,Application 有一个上下文)。一般来说,有 Dagger/Hilt 用于这些目的。