我在一个微调器的Activity类中存储一个值,是否可以在没有上下文的情况下获取值?
SharedPreference.class
public static int getPreferencedCurrency(){
SharedPreferences prefs = getSharedPreferences(Constants.SHARED_PREFERENCES_NAME,Context.MODE_PRIVATE);
return prefs.getInt(Constants.CURRENCY_PREFERRED,0);
}
getSharedPreferences错误
答案 0 :(得分:0)
在SP类中存储值究竟是什么意思?你究竟需要用这个值做什么?
您可以轻松地在应用的SP中存储值,并且它始终可以访问。
答案 1 :(得分:0)
我听起来你应该将Context
传递给类的构造函数,最好是应用程序上下文以避免内存泄漏,并在需要访问SharedPreferences
时使用它。
这样的事情:
public class SomeClass{
private Context con;
public SomeClass(Context c){
this.con = c;
}
public static int getPreferencedCurrency(){
SharedPreferences prefs = con.getSharedPreferences(Constants.SHARED_PREFERENCES_NAME,Context.MODE_PRIVATE);
return prefs.getInt(Constants.CURRENCY_PREFERRED,0);
}
}
初始化类的实例时使用Application Context:
SomeClass sc = new SomeClass(getApplicationContext());