使用适用于多个活动和片段的Dagger2制作UserScope

时间:2017-09-14 08:56:37

标签: android android-activity dagger-2 dagger

我想用Dagger 2创建一个UserScope,为几个活动提供用户。当用户登录时,Dagger将用户注入这些活动,并且一旦用户注销,该实例必须为空,直到下次登录。 这是我到目前为止所做的: 用户范围:

@Scope
@Retention(RetentionPolicy.RUNTIME)
public @interface UserScope {
}

用户组件:

  

Dagger生成错误,指出BaseActivity应该是一个模块

@UserScope
@Subcomponent(
        modules = {
                UserModule.class,
                NetworkModule.class
        }
)
public interface UserComponent {

        UserComponent inject(BaseActivity activity);
}

和UserModule

@Module
public class UserModule {

    private User user;

    public UserModule(User user) {
        this.user = user;
    }

    @Provides
    @UserScope
    FirebaseUser provideUser() {


  return user;
}

}

我应该为每个需要用户的活动制作模块活动吗?

0 个答案:

没有答案
相关问题