gpt4 book ai didi

android dagger 无法提供注入(inject)

转载 作者:搜寻专家 更新时间:2023-11-01 08:02:46 24 4
gpt4 key购买 nike

我想在我的 Android 应用程序中包含 Dagger。我有两个类 FakeServiceConnectorNetServiceConnector 实现了 ServiceConnector 接口(interface)

所以我把代码放在我的 Activity 中

@Inject
ServiceConnector serviceConnector;

Abd 我创建了解决依赖关系的提供程序

@Module
public class ServiceConnectorProvider {

@Provides
@Singleton
public ServiceConnector provideServiceConnector()
{
return new FakeServiceConnector();
}
}

但是当我按下按钮时 serviceConnector 为空。所以我的问题是:

1) 我的库中只包含 dagger-1.1.0.jar 和 java.inject.jar 是否足以正确安装 dagger?

2) 我是否需要编写比为 dagger 编写的代码更多的代码,例如创建 Android

最佳答案

是的,您需要编写更多代码才能使其正常工作。

首先你必须在模块中指定你想要注入(inject)哪个类:

@Module(
injects = YourClass.class
)

在你必须进行注入(inject)之后:

ObjectGraph objectGraph = ObjectGraph.create(new ServiceConnectorProvider());
YourClass yourClassObject = objectGraph.get(YourClass.class);

或:

ObjectGraph objectGraph = ObjectGraph.create(new ServiceConnectorProvider());
YourClass yourClassObject = new YourClass(...);
objectGraph.inject(yourClassObject);

查看基本示例herehere或搜索 GitHub更多。

关于android dagger 无法提供注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18710521/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com