Я новичок в android. Я хочу сохранить 5 рекордов для своей игры. Для этого я использую SharedPreferences . Как сохранить несколько баллов в SharedPreferences? Я могу предположить, что каждый раз, когда завершается уровень, должна быть проверка. Но как я могу заполнить 5 рекордов?Android SharedPreferences, сохраняющий лучшие результаты за игру
ответ
сказать, что вы хотите хранить только баллы (без имен). Поместите все свои оценки в массив. Затем используйте
Arrays.sort (myIntArray);
Это сортирует его по возрастанию, поэтому вам нужно его отменить.
Это означает, что в вашем SharedPreferences операции записи, начните с 4 затем работать в обратном направлении ..
sharedPreferences.putInt("HighScore1", myIntArray [4]);
sharedPreferences.putInt("HighScore2", myIntArray [3]);
т.д.
Для достижения наилучших результатов, вы бы «по умолчанию» значение рода, например, -1
баллов, которых не существует. Таким образом, когда вы показываете на экране, вы можете проверить на -1
, затем вывести «None» или вообще ничего не выводить.
ОК, похоже, это близко к моему ответу, снова спасибо @ A - C – tcse9
Просто дайте каждый уникальный ключ:
SharedPreferences.Editor spEdit = getDefaultSharedPreferences().edit();
spEdit.putInt("FirstHighScore", firstHighScore);
spEdit.putInt("SecondHighScore", secondHighScore);
// Etc.
spEdit.commit();
«Я уже пробовал это, но предположим, что у вас есть счет 2600, и уже есть оценки 3200, 2400, 2300, тогда 3200 останется на 1-й позиции, 2600 будет быть поставлен на 2-ое место, 2400 в третьем и 2300 в 4-м, поэтому индексы 2400 и 2300 уменьшаются. Мой вопрос: как я могу поддерживать этот поток? " --- @Ralgha ... любая идея bro ??? – tcse9
@ tcse9: простой и простой способ сначала добавить все prefrences в ArrayList из SharedPreferences, а затем добавить новый балл также в arraylist. второй после добавления всех элементов в сортировке ArrayList в соответствии с вашими требованиями ASC или DESC, а третий после короткого замыкания сохраните его в SharedPreferences –
вправо, вы пойдете на эту методологию, спасибо man - @ ρяσѕρєя K – tcse9
- 1. SharedPreferences, не сохраняющий
- 2. SharedPreferences, не сохраняющий
- 3. SharedPreferences, не сохраняющий boolean
- 4. sharedPreferences, не сохраняющий данные
- 5. SharedPreferences, не сохраняющий значение
- 6. SharedPreferences в Android, сохраняющий видимость ImageView
- 7. sharedpreferences, не сохраняющий данные в android
- 8. SharedPreferences, не сохраняющий после фиксации
- 9. iPhone, сохраняющий игру, используя P-Lists
- 10. Jmeter, сохраняющий результаты записи
- 11. лучшие результаты flash
- 12. Sharedpreferences, не сохраняющий или загружающий данные
- 13. пакетный код, сохраняющий пакетную игру в txt
- 14. Попытка установить лучшие практики для SharedPreferences
- 15. Android SharedPreferences
- 16. Java Android SharedPreferences issues
- 17. Лучший способ отображать результаты «Лучшие результаты»
- 18. Плата за iPhone и Android - лучшие способы
- 19. Получить лучшие уникальные результаты, получить нечетные результаты.
- 20. Android: SharedPreferences Issue (Несколько SharedPreferences)
- 21. Ограничения Android SharedPreferences?
- 22. Android Сохранить результаты
- 23. SharedPreferences - Android
- 24. SharedPreferences Android
- 25. Android SharedPreferences
- 26. SharedPreferences Android
- 27. Android, сохраняющий вид
- 28. Android SharedPreferences Reset Self
- 29. Android sharedpreferences в arraylist
- 30. Как сохранить лучшие оценки игры для Android?
Различные ключи. например, highscore1, highscore2 и т. д. –
Я уже пробовал это. но предположим, что у вас есть счет 2600, и уже есть оценки 3200, 2400, 2300. то 3200 останутся в 1-й позиции, 2600 будут помещены на 2-ое место, 2400 в третьем и 2300 в 4-м. поэтому индексы 2400 и 2300 уменьшаются. мой вопрос в том, как я могу поддерживать этот поток ??? – tcse9
Реализовать алгоритм сортировки, а затем переписать все sharedpreferences. Поскольку у вас всего 5 баллов, это не замедлит ваше приложение. –