因此,我一直在阅读有关 AndroidViewModel
类和应用程序架构指南的内容,我发现视图模型是通过以下方式获得的:
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 怎么办?如何在视图模型类中注入依赖项?