我正在为Android开发一个应用程序,我是新手,为了从SharedPreferences
获取值,我复制并粘贴了下面这段代码:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity());
String myValue = prefs.getString(getString(R.string.my_key),
getString(R.string.my_default_key));
显然这是在一个Activity中完成的,但是为了将key
value
存储到SharedPreferences
我有一些问题应该在一个不是{{1}的类中完成因此上面的代码不起作用。
问题:
我需要知道是否有任何方法可以用来存储类中的Activity
key
对,以便我可以检索value
key
value
使用上面的代码或者我是否必须修改我的代码并将其更改为此链接中的已回答问题?
How to use SharedPreferences in Android to store, fetch and edit values
答案 0 :(得分:2)
当然!您可以在自己的类中使用SharedPreferences,只需将上下文传递给类构造函数(或者您想要这样做),您应该能够正常使用它!
public YourClass(Context c) {
this.ctx = c;
}
然后在创建类的实例时传递它:
YourClass cls = new YourClass(getApplicationContext());
然后你可以在课堂上使用SharedPreferences
!
答案 1 :(得分:0)
是的,你可以。在您的课程中,传入(申请)Context
,然后:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
答案 2 :(得分:0)
您可以在Application类中编写一些公共静态方法,并且可以在Activity中设置或获取一些值。