1

因此,我一直在阅读有关 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 怎么办?如何在视图模型类中注入依赖项?

4

0 回答 0