Android Hilt 是一個(gè)用于簡(jiǎn)化 Android 應(yīng)用中依賴注入的庫(kù)。它基于 Dagger 2,但提供了更簡(jiǎn)潔的 API 和更好的集成。要使用 Hilt 簡(jiǎn)化依賴注入,請(qǐng)按照以下步驟操作:
在項(xiàng)目的 build.gradle 文件中添加 Hilt 依賴項(xiàng):
dependencies {
implementation 'com.google.dagger:hilt-android:2.38.1'
kapt 'com.google.dagger:hilt-compiler:2.38.1'
}
在應(yīng)用的 Application 類中初始化 Hilt。如果你沒有 Application 類,可以在 AndroidManifest.xml 中添加一個(gè):
import android.app.Application;
import com.google.dagger.hilt.android.HiltAndroidApp;
@HiltAndroidApp
public class MyApplication extends Application {
}
在需要注入依賴的類上使用 @HiltComponent 注解。這個(gè)注解告訴 Hilt 這是一個(gè)需要管理的組件。你還可以使用 @AndroidEntryPoint 注解將非 Activity 類納入 Hilt 管理范圍。
import com.google.dagger.hilt.android.HiltComponent;
@HiltComponent
public interface AppComponent {
void inject(MainActivity activity);
}
在需要注入依賴的類中使用 @Inject 注解。例如,在一個(gè) Activity 中注入一個(gè) 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 相關(guān)的代碼。右鍵點(diǎn)擊項(xiàng)目中的包名,選擇 “Hilt” > “Generate Hilt Components”。
現(xiàn)在,你已經(jīng)成功使用 Hilt 簡(jiǎn)化了依賴注入。Hilt 會(huì)自動(dòng)處理依賴關(guān)系,你無需手動(dòng)調(diào)用注入方法。此外,Hilt 還提供了許多高級(jí)功能,如模塊化、作用域和懶加載等。