где лучше сохранять игровой прогресс?

Я разрабатываю игру-викторину и хочу сохранить прогресс... На самом деле я использую общие настройки, это легко и быстро, но пользователь может удалить программные файлы и потерять прогресс. То же самое происходит с базой данных. Я должен использовать файл? Меня интересует только сохранение логического значения для каждого вопроса: "правильный ответ или нет?"

Спасибо!!


person Daniel Argüelles    schedule 26.09.2011    source источник


Ответы (2)


Общие настройки. И вы уже используете его. Спасти пользователя от самого себя очень сложно. Если он есть на устройстве, то его можно уничтожить либо по глупости, либо по злому умыслу. И не забывайте, что все это файл, и вы не можете поместить на устройство ничего, что было бы защищено от взлома/идиота.

Единственный способ обойти это - сохранить пользовательские настройки с устройства через что-то вроде веб-службы (и резервной базы данных). Но я бы сказал, что если вы используете SharedSettings... все в порядке. Оставьте это на этом. Я бы рассмотрел возможность использования базы данных для конкретного приложения, только если вы ожидаете, что количество вопросов, которые вы отслеживаете, вырастет до очень большого размера и вам нужен больший контроль над данными.

person Paul Sasik    schedule 26.09.2011
comment
Спасибо. Я буду продолжать использовать общие настройки. Если данных много, я предоставляю возможность использования базы данных. - person Daniel Argüelles; 27.09.2011

Где в коде логика?

Как правило, лучше всего сохранять любые настройки пользовательского интерфейса в onPause. Дизайн Android хочет, чтобы у вас никогда не было кнопки «сохранить», а сохранялись постоянно.

Что касается каждого вопроса, я думаю, вы бы сохранили после ответа на каждый вопрос?

person Ian    schedule 26.09.2011
comment
Если вы перечитаете вопрос, вы увидите, что ОП касается не when, а where. Соображение where связано с safer настойчивостью. - person Paul Sasik; 27.09.2011
comment
Как сказал Пол, вопрос в том, где, а не когда. Но вы даете мне интересный ответ, я не реализовал потенциал onResume - person Daniel Argüelles; 27.09.2011