Ahoj, poprosím o začiatočnícku radu. Chcel by som mať data aplikácie uložené v Shared Preferences, ktoré by boli dostupné pre ľubovolnú aktivitu aplikácie.
Mám triedu, nazvyme ju PreferenceManager, v ktorej sú definované prístupové metódy k shared preferences:
public class SetCampain extends Activity {
public static final String PREFS_NAME = "MyPrefs";
private void SavePreferences(String key, String value){
SharedPreferences sharedPreferences = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(key, value);
editor.commit();
}
public int getPreferences(){
SharedPreferences sharedPreferences = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
int strSavedMem = sharedPreferences.getInt("param", -1);
return strSavedMem;
}
}
Pomocou týchto metód by som chcel v inej triede preferencie zobraziť, resp. nastaviť. Akým spůsobom můžem k preferenciám pristupovať?
Keď zavolám niečo ako:
public class MyClass extends Activity {
int number = PreferenceManager.getPreferences();
}
potom mi to hlási Cannot make a static reference to the non-static method getPreference()....
keď dám
public class MyClass extends Activity {
PreferenceManager pref = new PreferenceManager();
int number = pref.getPreferences();
}
tak aplikácia spadne s NullPointerException.
Prosím poraďte mi čo robím zle, prípadne nejaké iné riešenie.