Я новичок в Android, но я сделал все возможное исследование по этой проблеме, и я просто не могу найти способ ее решить ... Приложение работало нормально, пока я не решил добавить SharedPreferences, чтобы обновить некоторые высокие оценки. Теперь я не могу заставить его работать, он всегда вылетает в самом начале (после заставки)
В методе on Create ниже setContentView у меня есть следующие строки:
highScores = getSharedPreferences("HighScores", 0);
hs1 = highScores.getInt("HighScore1", 0);
shs1 = highScores.getString("sHighScore1", "User1");
и еще пару, но в большинстве случаев это альтернативные варианты строк 2 и 3 в предыдущем коде. Я объявил рекорды как SharedPreferences в теле класса. Единственное место в этом классе, где я использую информацию, собранную из SharedPreferences, - это редактирование TextView, в котором используется следующий код:
High1.setText(String.format("1. %04d - %s", hs1, shs1));
Я предполагаю, что где-то в коде произошла ошибка, но я не могу ее найти ...
Просто для дополнительной информации, я использую SharedPreferences только в одном другом классе (который должен обновлять рекорды в конце игр) и использую код симилара:
highScores = getSharedPreferences("HighScores", 0);
hs1 = highScores.getInt("HighScore1", 0);
shs1 = highScores.getString("sHighScore1", "User1");
Код выше был для получения предыдущих рекордов, в то время как код ниже используется для обновления:
prefEditor.putInt("HighScore1", hs1);
prefEditor.putString("sHighScore1", shs1);
prefEditor.commit();
Я объявил редактор SharedPrefs как:
SharedPreferences.Editor prefEditor = highScores.edit();
Я был бы очень признателен за любую помощь, так как не могу понять, что я сделал неправильно, возможно, это небольшая ошибка, но это действительно сводит меня с ума: PI даст вам больше кода, но я не вижу никакой цели в этом, потому что он не использует SharedPreferences, и я уверен, что они являются причиной проблемы ...
Заранее спасибо за помощь:)