Опубликован: 02.08.2013 | Доступ: свободный | Студентов: 464 / 17 | Длительность: 18:38:00
Специальности: Программист
Лекция 8:

Взаимодействие приложения с пользователем и системой, жизненный цикл приложения

Аннотация: Данная лекция посвящена описанию жизненного цикла приложения для Windows Phone и особенностям его взаимодействия с системой и с пользователем.

Цель работы: ознакомиться с особенностями событий жизненного цикла приложения и их обработки

Windows Phone 8: взаимодействие пользователя и приложения

Платформа Windows Phone 8 отличается некоторыми особенностями в организации взаимодействия пользователя и приложения. Понимание этих особенностей является залогом успешной разработки приложения, соответствующего ожиданиям пользователей и имеющего высокие шансы на публикацию в Магазине.

Обычно пользователь запускает приложения либо из списка приложений, либо – с домашнего экрана (рабочего стола), при условии, что он предварительно разместил на домашнем экране плитку приложения. Это можно сделать, вызвав контекстное меню приложения в списке длительным касанием пункта, соответствующего приложению, и выбрать в нём команду На рабочий стол. В общем списке приложений нет игр – их можно найти в хабе Игры. Плитки для вызова игр так же можно добавлять на домашний экран. Приложение может быть запущено и другими способами. Например – с помощью всплывающего уведомления, из хабов Фотографии, Музыка+Видео, с помощью ассоциации с типом файлов, его может напрямую запустить другое приложение. Различные способы запуска приложений называют точками расширения (extensibility points) – то есть – местами в системе, в которых приложения расширяют возможности системы.

В Windows Phone 8 появилась новая функцияДетская. Она создана специально для того, чтобы владелец телефона мог передать его ребенку, предоставив лишь ограниченный набор функций и не опасаясь, что ребенок случайно выполнит какие-либо действия, которые приведут, например, к удалению важных данных. Вход в обычный режим работы можно защитить паролем, в Детскую можно добавлять приложения и игры, используя команду их контекстного меню Добавить в детскую.

При работе в Windows Phone 8 активным, то есть – видимым на экране и занимающим всю площадь экрана (либо всю без исключения, либо с выводом информационной панели устройства в верхней части экрана, где отображаются сведения о времени, уровне сигнала сотовой сети и т.д.). В системе могут одновременно работать различные приложения (например, фоновые процессы), однако активным приложением может быть лишь одно. Мобильные платформы отличаются ограниченностью ресурсов, такой подход позволяет предоставлять активному приложению максимум системных ресурсов. Активное приложение может инициировать запуск другого приложения. Например, для открытия гиперссылки, расположенной в приложении, ведущей на интернет-ресурс, можно использовать стандартный браузер Internet Explorer.

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

Особую роль в работе с приложениями имеют аппаратные кнопки устройства. Часто они реализуются в виде сенсорных кнопок, однако, место их расположения, порядок расположения и функции неизменны от устройства к устройству. Так, пользователь, в любой момент работы с приложением, может нажать кнопку Пуск (Start), которая расположена в центре панели аппаратных кнопок. По нажатию на эту кнопку должен быть открыт домашний экран устройства. Для того, чтобы вернуться к приложению, из которого пользователь попал на начальный экран, нажав кнопку Пуск, он может нажать на кнопку Назад (Back). Длительное нажатие на данную кнопку приводит к выводу прокручиваемого списка недавно запущенных приложений. В итоге оказывается, что функция выхода из приложения на практике реализуется либо путём перехода на начальный экран, либо – с использованием кнопки Назад. При этом кнопка Назад, при перемещении по страницам приложения, используется для навигации по ним, для возврата к ранее открытым страницам. Структура навигации по приложению может быть любой, однако, чем проще и понятней она будет, тем удобнее пользователю будет работать с приложением. Как правило, все ситуации, которые требуют возврата на предыдущие страницы, а так же – выход из приложения – реализуются с помощью кнопки Назад. Выход из приложения обычно осуществляется с его начальной страницы, при нажатии на кнопку Назад.

Подобный опыт взаимодействия, в частности, отражен в системных приложениях. Пользователь, на уровне мышечной памяти, привыкает к подобному поведению приложений, поэтому, хотя технически вполне возможно создать интерфейс приложения, содержащий элементы для выхода из приложения, или кнопку, аналогичную кнопке Назад, делать этого не стоит.

Нужно учитывать, что взаимодействие с приложениями для Windows Phone ведется, преимущественно, с использованием сенсорного экрана. Экран поддерживает несколько точек касания, жесты, предусматривающие перемещение пальцев по экрану, на практике обычно используются жесты, поддерживающие не более двух точек касания (жест изменения масштаба, в частности). Можно, хотя и нежелательно, реализовать управление приложением нестандартным способом, например, жестом касания экрана сразу тремя пальцами. Однако, если, жест масштабирования, обычное касание – для выполнения какого-либо действия, длительное касание – для получения дополнительных сведений или вызова контекстного меню – это привычные и понятные всем жесты, то к подобному управлению пользователям придётся привыкать. Нет никакой гарантии, что именно непривычное управление приложением станет аргументов в пользу выбора ими приложения-конкурента. Особенность мобильных платформ, кроме того, заключается в доступности разработчику встроенных сенсоров, регистрирующих положение устройства в пространстве и его перемещения. Творческое использование этих возможностей позволяет создавать замечательные приложения. Здесь, однако, как и в случае с дизайном приложений, важно, чтобы приложение было удобным для пользователя.

Пользователь, если он вернулся в приложение, из которого недавно вышел, обычно ожидает, что оно будет пребывать в том же состоянии, в котором было до выхода. Например, вполне вероятен такой сценарий работы с приложением. Пользователю, который работает с приложением, нужно срочно сделать звонок, написать текстовое сообщение, или воспользоваться другим приложением. Во время работы он, например, вводит в приложение какие-то данные. Пользователь прерывает работу, нажимает на кнопку Пуск, выполняет то, что ему нужно, и снова возвращается в приложение – либо запуская его с домашнего экрана, либо пользуясь длительным нажатием на кнопку Назад и выбирая его из списка, если оно всё еще доступно в этом списке. Если приложение откроется, но введенные ранее данные будут утеряны – это разочарует пользователя. Лучше всего, когда приложение создаёт у пользователя впечатление непрерывной работы этого приложения, то есть – возвращаясь к нему, он видит его в том же состоянии, в котором оно было в момент выхода. При этом очень желательно, чтобы пользователю не пришлось прилагать дополнительных усилий для обеспечения подобного поведения приложения. Пользователю не важны технические детали. Всё, что ему нужно – это полезное, удобное и быстрое приложение. Для того, чтобы реализовать функциональность, касающуюся запуска приложения, выхода из него, загрузки предыдущих состояний, нужно ознакомиться с особенностями жизненного цикла приложения и с обработкой событий, связанных с ним.