Мое намерение иметь метод LoadPreferences и SavePreferences. Я хочу, чтобы он был настолько гибким, насколько это возможно, поэтому я могу запросить любые «разумные» данные, которые будут вызваны, когда мне это нужно, и сохранятся, когда я закончу изменение любого ЛЮБОГО класса/метода. Когда я устанавливаю его как любую возвращаемую переменную, он дает мне nullpointerexception. Вот что у меня есть:Загрузка и сохранение SharedPreferences из методов
public class MainActivity extends Activity {
// Add SharedPreference loader
int mPlayerCharisma = SharedPrefLoader("playerCharisma", 0); //I want variable
// playerCharisma if it exists, and to default to int 0 if it does not
int mPlayerBusiness = SharedPrefLoader("playerBusiness", 0);
int mPlayerCombat = SharedPrefLoader("playerCombat", 0);
int mPlayerLevel = SharedPrefLoader("playerLevel", 0);
int mPlayerLocation = SharedPrefLoader("playerLocation", 0);
int mPlayerMoney = SharedPrefLoader("playerMoney", 500);
int mPlayerEnergy = SharedPrefLoader("playerEnergy", 10);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// ...
}
public int SharedPrefLoader(String key, int defValue) {
SharedPreferences sharedPref = this.getSharedPreferences("drudlordmt",
MODE_PRIVATE); //This is where my nullpointerexception points to//
int returnedValue = sharedPref.getInt(key, defValue);
return returnedValue;
}
public void SharedPrefSaver(String key, int value) {
SharedPreferences settings = getSharedPreferences("druglordmt", 0);
SharedPreferences.Editor prefEditor = settings.edit();
prefEditor.putInt(key, value).commit();
}
}
Из моего чтения я понимаю, что нужно передать свой контекст как-то, но я хочу, чтобы убедиться, что я все еще могу делать то, что я намерен. Любые предложения будут ценны.
Спасибо!