Android Hilt 是一个用于简化 Android 应用中依赖注入的库。它基于 Dagger 2,但提供了更简洁的 API 和更好的集成。要使用 Hilt 简化依赖注入,请按照以下步骤操作:
- 添加 Hilt 依赖项
在项目的 build.gradle 文件中添加 Hilt 依赖项:
dependencies { implementation 'com.google.dagger:hilt-android:2.38.1' kapt 'com.google.dagger:hilt-compiler:2.38.1' }
- 初始化 Hilt
在应用的 Application 类中初始化 Hilt。如果你没有 Application 类,可以在 AndroidManifest.xml 中添加一个:
import android.app.Application; import com.google.dagger.hilt.android.HiltAndroidApp; @HiltAndroidApp public class MyApplication extends Application { }
- 使用 Hilt 注解
在需要注入依赖的类上使用 @HiltComponent 注解。这个注解告诉 Hilt 这是一个需要管理的组件。你还可以使用 @AndroidEntryPoint 注解将非 Activity 类纳入 Hilt 管理范围。
import com.google.dagger.hilt.android.HiltComponent; @HiltComponent public interface AppComponent { void inject(MainActivity activity); }
- 注入依赖
在需要注入依赖的类中使用 @Inject 注解。例如,在一个 Activity 中注入一个 Repository:
import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import com.example.myapp.repository.MyRepository; import javax.inject.Inject; public class MainActivity extends AppCompatActivity { @Inject MyRepository myRepository; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }
- 生成 Hilt 代码
使用 Android Studio 的 Hilt 插件生成 Dagger 和 Hilt 相关的代码。右键点击项目中的包名,选择 “Hilt” > “Generate Hilt Components”。
现在,你已经成功使用 Hilt 简化了依赖注入。Hilt 会自动处理依赖关系,你无需手动调用注入方法。此外,Hilt 还提供了许多高级功能,如模块化、作用域和懒加载等。