Android вылетает из-за SharedPreferences - PullRequest
1 голос
/ 22 сентября 2011

Я новичок в 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, и я уверен, что они являются причиной проблемы ...

Заранее спасибо за помощь:)

...