Как я могу добавить SharedPreferences во ViewModel? - PullRequest
0 голосов
/ 31 января 2019

Я разрабатываю приложение для Android с подходом MVVM, и мне нужен доступ к SharedPreferences во ViewModel, но я не знаю, как это сделать.

Я знаю, что возможен доступ к контекстукласса наследовать от AndroidViewModel, но я хочу знать, если это возможно, как сделать это с помощью инъекции.

Для выполнения инъекции я использую Dagger 2.

Спасибо

1 Ответ

0 голосов
/ 31 января 2019

Это возможно.Как вы упомянули, ваш ViewModel должен расширять AndroidViewModel, а затем просто вызвать getApplication() и использовать его в качестве контекста при доступе к SharedPreferences.

И для использования Кинжал 2 в ViewModel: вы не можете напрямую вводить что-либо в ViewModel ни с помощью параметра, ни с помощью ввода поля, для этого вам нужно будет использовать ViewModel Factory и ввеститам сначала объекты и передайте их в любое нужное ViewModel.

Чтобы узнать больше об использовании Dagger 2 с ViewModels, обратитесь к этой статье .Удачи:)

...