Как спроектировать мое приложение для Android за 20 минут http сессии

1

У меня есть приложение для Android, которое я создаю, и оно основано на веб-приложении, которое позволяет пользователям входить в систему и резервировать книгу (подумайте об библиотеке). Поскольку вы можете зарезервировать книги, у него должен быть действительный сеанс (точнее, cookie)

Вот моя проблема - как я могу работать с многозадачностью, когда у меня есть это ограничение на 20 минут?

Я держу таймер за все время работы приложения (в глобальном объекте приложения) -then при возобновлении проверки, этот таймер находится под 20-минутным окном, и если это так, предположим, что cookie - это хорошо, попросите их войти в систему еще раз.

Или я удаляю загруженные (в моем приложении) действия и возобновляю приложение каждый раз, когда пользователь нажимает значок на главном экране.

Или что-то еще? Я просто избегал этого в своей версии для iPhone, потому что в настоящее время я не поддерживаю многозадачность (возможно, я буду, если решение для Android будет установлено)

Заранее благодарю вас!

Теги:
multitasking

2 ответа

5

Обычно люди справляются с этой проблемой, полагая, что любой файл cookie, который у них есть, действителен и позволяет серверу сообщить им, нужно ли им снова войти в систему. Клиент должен иметь очень мало (читай: нет, если возможно) интеллект об этом аспекте, который они не могут контролировать.

  • 0
    Да, справиться с этим за кулисами. Если вы получили ответ, который выглядит так, как будто у вас истекло время ожидания, просто войдите снова. Держите пользователя в курсе, что он не заморожен, хотя!
1

У вас есть несколько вариантов, и какой из них будет зависеть от особенностей приложения.

  • Вы можете настроить таймер для выхода из системы через 20 минут, либо как часть вашего Приложения, либо как часть вашего действия (хотя в последнем подходе он будет потерян, если операция будет перезапущена).

  • Можно настроить будильник для запуска намерения, чтобы отобразить экран входа через 20 минут (если вы хотите принудительно вставить re-) или установить флаг LOGGED_IN=false, если нет.

  • Вы можете установить длинное поле в свой объект приложения и запросить его во время onDraw() или при извлечении новой страницы или когда вы сочтете это подходящим: если он прошел через 20 минут, выйдите из системы.

  • Если приложение будет извлекать книгу с сервера на одну страницу за раз или аналогично, то я бы добавил маркер времени к запросу POST и давал серверу решить, следует ли возвращать страницу или отправлять 401. Затем вы обработали ошибку, показывая экран входа в систему и повторную отправку, если вход в систему будет успешным.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню