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 還提供了許多高級功能,如模塊化、作用域和懶加載等。