我想在我的Android应用程序中包含匕首。 我有两个类 FakeServiceConnector , NetServiceConnector ,它实现 ServiceConnector 接口
所以我把代码放在我的活动中
@Inject
ServiceConnector serviceConnector;
Abd我创建了解析依赖项的提供程序
@Module
public class ServiceConnectorProvider {
@Provides
@Singleton
public ServiceConnector provideServiceConnector()
{
return new FakeServiceConnector();
}
}
但是当我按下按钮时,serviceConnector为null。 所以我的问题是:
1)我在我的libs中只包含dagger-1.1.0.jar和java.inject.jar是否足以安装正确的匕首?
2)我是否需要编写比我为dagger编写的代码更多的代码,例如创建Android
答案 0 :(得分:4)
是的,您需要编写更多代码才能使其正常工作。
首先,您必须在模块中指定要注入的类:
@Module(
injects = YourClass.class
)
必须进行注射后:
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);