1

我正在使用 Model-View-Presenter 方法开发我的应用程序。我也在使用 Dagger2 并创建了这个模块:

@Module
public class FirebaseModule {


@Provides @Singleton
public DatabaseReference provideDatabaseReference(){
    return FirebaseDatabase.getInstance().getReference();
}

@Provides
public FirebaseAuth provideFirebaseAuth(){
    return FirebaseAuth.getInstance();
}
}

这是我可以更新演示者的模型:

public class FirebaseModel implements Model, FirebaseAuth.AuthStateListener {

@Inject
FirebaseAuth auth;

Presenter presenter;
FirebaseUser user;

@Inject
public FirebaseModel(Presenter presenter) {
    this.presenter = presenter;

}


@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
    user = auth.getCurrentUser();
    presenter.updateUser(user);

}


@Override
public void loadUser() {

    auth.addAuthStateListener(this);
}
}

问题是注入

FirebaseAuth auth;

返回NullPointerException。我读过这个 getInstance() 必须在 的onCreate()方法中完成MainActivity,但在这种情况下,它破坏了 MVP 方法,因为视图逻辑必须是被动的。

那么在这种情况下我该怎么办?

谢谢

4

0 回答 0