Как использовать общие значения предпочтений в Viewmodel

#android

Вопрос:

Я сохраняю значение тока locale в SharedPreferences ,

данные viewmodel должны быть изменены текущими locale , поэтому я должен использовать SharedPreferences ..

 private fun getPreferences(context: Context): SharedPreferences {  return context.getSharedPreferences(PREFERENCES_NAME, Context.MODE_PRIVATE) }  

этот код нужен context , я не знаю, как я могу его использовать SharedPreferences Viewmodel ..

Ответ №1:

Ваш класс ViewModel должен быть расширен с помощью AndroidViewModel.

после этого вызовите getApplication() и используйте его в качестве контекста при доступе к SharedPreferences.

 public class YourViewModel extends AndroidViewModel {   SharedPreferences sharedpreferences = getApplication().getSharedPreferences("pref_key", Context.MODE_PRIVATE);   String varName = sharedpreferences.getString("var_name", "")  }