如何在ViewModel中注入SharedPreferences?

Tla*_*-ES 4 android dagger-2 android-mvvm

我正在开发一种使用MVVM方法的Android应用程序,我需要访问ViewModel中的SharedPreferences,但是我不知道该怎么做。

我知道可以访问从AndroidViewModel继承的类的上下文,但是我想知道如果可能的话,如何通过注入来实现。

为此,我使用的是Dagger 2。

谢谢

Tom*_*kis 8

有可能的。正如您提到的,您ViewModel必须进行扩展,AndroidViewModel然后getApplication()在访问时只需调用并将其用作上下文即可SharedPreferences

对于在以下环境中使用Dagger 2ViewModel您不能通过ViewModel参数注入或字段注入直接注入任何东西,因为您将需要首先使用ViewModel Factory和注入对象并将它们传递给所需的对象ViewModel


要了解有关使用Dagger 2的更多信息,ViewModels请参考本文


祝好运 :)