所以,我一直在阅读关于Android ViewModel
类和app architecture guide的内容,我看到一个视图模型是通过以下方式获得的:
viewModel = ViewModelProviders.of(this).get(UserProfileViewModel.class);
您不直接实例化该类,而是使用ViewModelProviders
类。
到目前为止,这么好。然后,该指南显示了如何将UserProfileViewModel
与存储库UserRepository
“连接”:
public class UserProfileViewModel extends ViewModel {
private UserRepository userRepo;
@Inject // UserRepository parameter is provided by Dagger 2
public UserProfileViewModel(UserRepository userRepo) {
this.userRepo = userRepo;
}
//more stuff
}
正如上面的评论所说,UserRepository
由Dagger注释(构造函数中的注释@Inject
)。
如果我们不使用Dagger 2怎么办?如何在视图模型类中注入依赖项?