Android поделился примером предпочтений для высоких результатов? - PullRequest
4 голосов
/ 22 марта 2011

Привет Мне было интересно, есть ли простой пример реализации списка рекордов с использованием общих предпочтений? то есть предварительно определили высокие оценки в начале, а затем обновите список в зависимости от оценки, которую получает пользователь?

Ответы [ 3 ]

2 голосов
/ 22 марта 2011

Если вы хотите использовать общие настройки, проблема в том, что вы не можете сохранить список или что-то в этом роде. Общие настройки поддерживают только логическое значение, число с плавающей запятой, int, String, long и Set.

Итак, ваш лучший выбор - набор. Там вы можете преобразовать каждое значение своего рекорда в строку, добавить его в набор и затем сохранить этот набор в общих настройках.

Во время запуска вашего приложения вы можете получить набор, преобразовать строки обратно в целые числа или все, что вы используете для представления рекорда.

См., Например, этот метод:

http://developer.android.com/reference/android/content/SharedPreferences.Editor.html#putStringSet(java.lang.String, java.util.Set)

EDIT

Как указывал MisterSqounk, Set доступен только после API уровня 11. Поэтому, если вы кодируете ниже, я бы предложил хранить значения непосредственно в виде целых чисел, используя ключи, например, highscore1, highscore2, ... При получении значения рекордов, которые вы могли бы перебрать по всем ключам и используя SharedPreferences # содержит (ключ строки), чтобы проверить, доступно ли значение.

0 голосов
/ 23 января 2012

Если вы все еще ищете решение, Система лидеров Swarm выглядит неплохо. Предоставляет простое решение для добавления настраиваемых таблиц лидеров в игры, и с ним довольно легко работать.

0 голосов
/ 22 марта 2011

Некоторое время назад я реализовал библиотеку для использования MEMDISKCACHE & SHAREDPREF в качестве GENERIC_STORE. Вы даже можете хранить / получать Сериализуемые объекты Java.Например, чтобы удовлетворить ваши требования, просто создайте пользовательский объект Serializable Java, и вы готовы к работе.

Я уже использую это в своих приложениях (даже для массивных фотографий на Facebook), работает довольно хорошо и действует как слой абстракции.

вот источник, если кому-то интересно.https://github.com/wareninja/generic-store-for-android

...