Android Dagger 和 Firebase
Android Dagger and Firebase
我正在使用 Dagger 依赖注入。它通常工作正常,但是当我使用它将组件注入扩展 FirebaseInstanceIdService 的 class 时,构建失败。 FirebaseInstanceIdService 是否有什么特别之处阻止我注入它,或者我需要做些什么才能让它工作。我没有尝试在任何地方注入 FirebaseInstanceIdService 的实例,只是向其中注入依赖关系
AppComponent 有
void inject (AbcFirebaseInstanceIdService abcFirebaseInstanceIdService);
并且 AbcFirebaseInstanceIdService 有
public void inject(ApplicationComponent appComponent) {
appComponent.inject(this);
}
你遇到了什么错误。这在我们的代码库中有效
public class NYTFirebaseInstanceIDService extends FirebaseInstanceIdService {
@Inject Lazy<Foo> foo;
@Override
public void onCreate() {
super.onCreate();
buildObjectGraphAndInject();
}
private void buildObjectGraphAndInject() {
getComponent().inject(this);
}
protected Component getComponent() {
return ComponentFactory().create();
}
}
com.google.dagger:dagger-compiler:2.0.2
似乎不适用于
com.firebase:firebase-client-android:2.3.1.
看到 MikeN 的代码可以与旧版本的 dagger 一起使用,让我尝试将我的 dagger 版本升级到 2.6.1。之前无法编译的相同代码现在可以编译了。
我正在使用 Dagger 依赖注入。它通常工作正常,但是当我使用它将组件注入扩展 FirebaseInstanceIdService 的 class 时,构建失败。 FirebaseInstanceIdService 是否有什么特别之处阻止我注入它,或者我需要做些什么才能让它工作。我没有尝试在任何地方注入 FirebaseInstanceIdService 的实例,只是向其中注入依赖关系
AppComponent 有
void inject (AbcFirebaseInstanceIdService abcFirebaseInstanceIdService);
并且 AbcFirebaseInstanceIdService 有
public void inject(ApplicationComponent appComponent) {
appComponent.inject(this);
}
你遇到了什么错误。这在我们的代码库中有效
public class NYTFirebaseInstanceIDService extends FirebaseInstanceIdService {
@Inject Lazy<Foo> foo;
@Override
public void onCreate() {
super.onCreate();
buildObjectGraphAndInject();
}
private void buildObjectGraphAndInject() {
getComponent().inject(this);
}
protected Component getComponent() {
return ComponentFactory().create();
}
}
com.google.dagger:dagger-compiler:2.0.2
似乎不适用于
com.firebase:firebase-client-android:2.3.1.
看到 MikeN 的代码可以与旧版本的 dagger 一起使用,让我尝试将我的 dagger 版本升级到 2.6.1。之前无法编译的相同代码现在可以编译了。