如果想在MyViewModel.java中使用全局的sharedPreference,必须得在MyViewModel类中持有应用程序的引用,或者是上下文的引用
Application application; // 想要在ViewModel中访问系统的sharedPreference,得持有应用程序的引用
void foo(){
application.getSharedPreferences()
}
或者
Context context; // 想要在ViewModel中访问系统的sharedPreference,得持有应用程序的引用
void foo(){
context.getSharedPreferences()
}
同时在MainActivity.java中,定义MyViewModel的对象,并给myViewModel.context赋值
public class MainActivity extends AppCompatActivity {
MyViewModel myViewModel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myViewModel.application = getApplication();
或者
myViewModel.context = getApplicationContext();
}
}