2016-08-12 3 views
0

В моей игре я хочу синхронизировать текущий прогресс игрока с некоторым облаком. Я решил использовать API сохраненных игр Google, который работает хорошо, он сохраняет данные локально, когда он находится в автономном режиме, и синхронизирует его с приложением Google в режиме онлайн. Но эти сбережения продолжаются немного дольше, и я часто экономию, я не хочу потерять прогресс любого игрока. Я решил использовать SharedPreferences, я знаю, что они не рекомендуются, потому что они всего лишь файлы xml, и root могут обращаться к ним и изменять данные, поэтому я использую encrypted SharedPreferences, чтобы сделать его более сложным для его изменения. Теперь вопрос в том, что это хороший способ добиться экономии? Должен ли я просто выбирать данные SharedPreferences и отправлять их на Google Play с помощью API сохраненных игр? Или какие-нибудь лучшие идеи?Android save данные игрока

ответ

0

Проверьте это documentation, чтобы увидеть варианты хранения данных. Я предлагаю использовать SharePreferences для хранения частных примитивных данных в парах ключ-значение. Из этого related SO question проверьте API getStringSet для хранения массивов/коллекций, если это помогает.

Для несуществующего вальса для набора строки:

Возвращает значение предпочтений, если они существуют, или defValues. Выбрасывает ClassCastException, если есть предпочтение с этим именем, которое не является a Set.

Для несуществующих данных значений, такие как строки, BOOL, плавать и т.д .:

Возвращает значение приоритета, если она существует, или Значение_по_умолчание. Выбрасывает ClassCastException, если есть предпочтение с этим именем, которое не является a String.

Вы также можете проверить эти ссылки:

Надеется, что это помогает!