package com.zj.wanandroid import android.annotation.SuppressLint import android.app.Application import android.content.Context import com.zj.wanandroid.data.store.DataStoreUtils import dagger.hilt.android.HiltAndroidApp /** * 1. 所有使用 Hilt 的 App 必须包含 一个使用 @HiltAndroidApp 注解的 Application * 2. @HiltAndroidApp 将会触发 Hilt 代码的生成,包括用作应用程序依赖项容器的基类 * 3. 生成的 Hilt 组件依附于 Application 的生命周期,它也是 App 的父组件,提供其他组件访问的依赖 * 4. 在 Application 中设置好 @HiltAndroidApp 之后,就可以使用 Hilt 提供的组件了, * Hilt 提供的 @AndroidEntryPoint 注解用于提供 Android 类的依赖(Activity、Fragment、View、Service、BroadcastReceiver)等等 * Application 使用 @HiltAndroidApp 注解 */ @HiltAndroidApp class MyApp : Application() { companion object { @SuppressLint("StaticFieldLeak") lateinit var CONTEXT: Context } override fun onCreate() { super.onCreate() CONTEXT = this DataStoreUtils.init(this) } }