Хорошая практика для многопользовательской настольной игры для Android - PullRequest
1 голос
/ 14 февраля 2012

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

Требуемая скорость взаимодействия клиент-сервер в лучшем случае медленная, очень похожая на wordfeud, поэтому я использовал AsyncTask, чтобы делать то, что мне нужно, примеры задач: LoginTask, RegisterUserTask, StartGameTask, PlayMoveTask.

Для инициализации могу написать:

VerifyUserTask verify = new VerifyUserTask();
verify.execute(username, password);

На сервере у меня есть php-скрипт, который принимает отправленные параметры и возвращает результат.

Снова вернитесь на андроид. Возможно, мне придется подождать ответа, используя

Boolean verified = verify.get(10, TimeUnit.SECONDS);

Шифр ​​проверки используется редко, только когда мне нужно убедиться, что пользователь действительно является действительным пользователем с действительным паролем.

Я знаю, что это работает, но нормально ли это решение? Учитывая, что он легкий, достаточно быстрый, и я могу регистрировать ошибки и ответы.

Заранее спасибо ...

1 Ответ

2 голосов
/ 14 февраля 2012

Старайтесь избегать использования AsyncTask для всего.Это принесет вам больше проблем, чем решений.

Создайте Android Service, чтобы справиться со всей бэкэнд-логикой и найти способ общаться с вашими действиями.

Я бы порекомендовал вам узнать о SyncAdapters.Вот сообщение в блоге с хорошим вступлением.

...