依赖注入
1. Dagger
implementation 'com.google.dagger:dagger:2.45' annotationProcessor 'com.google.dagger:dagger-compiler:2.45' // For Java kapt 'com.google.dagger:dagger-compiler:2.45' // For Kotlin@Module public class NetworkModule { @Provides public OkHttpClient provideOkHttpClient() { return new OkHttpClient(); } @Provides public Retrofit provideRetrofit(OkHttpClient client) { return new Retrofit.Builder() .client(client) .baseUrl("https://api.example.com/") .addConverterFactory(GsonConverterFactory.create()) .build(); } }@Component(modules = {NetworkModule.class}) public interface AppComponent { void inject(MainActivity activity); }public class MainActivity extends AppCompatActivity { @Inject Retrofit retrofit; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 初始化 Dagger AppComponent component = DaggerAppComponent.create(); component.inject(this); } }
2. Hilt
小结
Last updated