Я использую простой класс для выполнения некоторых действий (вычислений) и хочу записать значение в SharedPreferences, которое впоследствии может быть использовано.Могу ли я использовать SharedPreference внутри конструктора?
Однако, это не работает. Я расширил класс из Activity, чтобы использовать метод getSharedPReferences()
. Это неправильно и не разрешено?
Я получаю исключения нулевого указателя пытается инициализируем редактор sharedpreference
код ниже:
public class JSONParser extends Activity {
// To store our preferences for JSON route info
public static final String MY_PREFS_JSON = "JSONPrefs";
// Construct an object with JSON values
public JSONParser(String JSONString){
try {
JSONObject jsonObject = new JSONObject(JSONString);
JSONArray routesArray = jsonObject.getJSONArray("routes");
// fails with NullPointer
SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_JSON, MODE_PRIVATE).edit();
// Store in SharedPreferences our JSON value
editor.putString("JSON", routesArray.toString());
editor.commit();
}
}
}
Добавление сообщение об ошибке:
java.lang.NullPointerException: Попытка вызова виртуальной method 'android.content.SharedPreferences android.content.Context.getSharedPreferences (java.lang.String, int)' на ссылке нулевого объекта
то, что вы получаете ошибку? – FredMaggiowski