在Hilt中使用Module来提供依赖项,可以避免应用程序崩溃而没有显示任何信息的情况。以下是通过创建Module来提供依赖项的示例代码:
@Module
@InstallIn(ActivityComponent.class)
public class MyModule {
@Provides
public MyDependency provideMyDependency() {
return new MyDependency();
}
}
在Activity或Fragment中使用@Inject注入依赖项:
public class MyActivity extends AppCompatActivity {
@Inject
MyDependency myDependency;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Hilt注入依赖项
DaggerMyComponent.builder()
.activity(this)
.build()
.inject(this);
}
}
在Dagger Component中声明Module:
@Component(modules = {MyModule.class})
public interface MyComponent {
void inject(MyActivity activity);
void inject(MyFragment fragment);
MyDependency myDependency();
}
这里的MyDependency是一个示例依赖项,您应该替换为您要提供的实际依赖项。