问题
How to use SharedPreferences
in a class without oncreate
?
I get null pointer when accessing it.
public class Ftr extends Activity
{
SharedPreferences preferences;
Context ab=this;
public void ft()
{
preferences = PreferenceManager.getDefaultSharedPreferences(ab);
String result = preferences.getString("F","");
}
}
I'm calling Function ft()
from another activity Ftr
is just a class not an activity.
How can I use SharedPreferences
in this condition?
回答1:
You can take in Common method or Utils So use in All Method.
public static void SaveInPreference(Context mContext, String key, String objString) {
SharedPreferences.Editor editor = mContext.getSharedPreferences(mContext.getString(R.string.app_name),
Context.MODE_PRIVATE).edit();
editor.putString(key, objString);
editor.commit();
}
public static String getPrefString(Context mContext, final String key, final String defaultStr) {
SharedPreferences pref = mContext.getSharedPreferences(mContext.getString(R.string.app_name),
Context.MODE_PRIVATE);
return pref.getString(key, defaultStr);
}
来源:https://stackoverflow.com/questions/19492710/how-to-use-sharedpreferences-outside-of-oncreate