Android Hilt 是一个用于简化 Android 应用中依赖注入的库。它基于 Dagger 2,但提供了更简洁的 API 和更好的集成。要使用 Hilt 简化依赖注入,请按照以下步骤操作:
在项目的 build.gradle 文件中添加 Hilt 依赖项:
dependencies {
implementation 'com.google.dagger:hilt-android:2.38.1'
kapt 'com.google.dagger:hilt-compiler:2.38.1'
}
在应用的 Application 类中初始化 Hilt。如果你没有 Application 类,可以在 AndroidManifest.xml 中添加一个:
import android.app.Application;
import com.google.dagger.hilt.android.HiltAndroidApp;
@HiltAndroidApp
public class MyApplication extends Application {
}
在需要注入依赖的类上使用 @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);
}
}
使用 Android Studio 的 Hilt 插件生成 Dagger 和 Hilt 相关的代码。右键点击项目中的包名,选择 “Hilt” > “Generate Hilt Components”。
现在,你已经成功使用 Hilt 简化了依赖注入。Hilt 会自动处理依赖关系,你无需手动调用注入方法。此外,Hilt 还提供了许多高级功能,如模块化、作用域和懒加载等。