Опубликован: 12.02.2013 | Доступ: свободный | Студентов: 793 / 47 | Длительность: 17:51:00
Специальности: Программист
Лекция 9:

Использование системных функций в приложениях

Упражнения

Упражнение 1. Редактирование значков приложения

В этом упражнении вы создадите и отредактируете значки и экраны-заставки для приложения Silverlight для Windows Phone.

Создание приложения

  1. Откройте Visual Studio, создайте новое приложение Silverlight и назовите его Icons.
  2. Выберите в качестве целевого устройства эмулятор Windows Phone и запустите программу, нажав клавишу F5. Visual Studio развернёт программу в эмуляторе и запустит её.
  3. Нажмите в эмуляторе кнопку Назад, чтобы остановить программу. В эмуляторе откроется меню Пуск, содержащее единственную плитку, связанную с программой Internet Explorer.
  4. Щёлкните по стрелке вправо в верхнем правом углу экрана эмулятора. Откроется список приложений эмулятора. Список содержит приложение Icons, которое мы только что создали, Internet Explorer и приложение Настройки эмулятора.
  5. Щёлкните по значку приложения Icons, чтобы запустить это. Приложение запустится в эмуляторе.
  6. Нажмите кнопку Назад, чтобы остановить приложение.

Эмулятор Windows Phone сохраняет все запускаемые в нём программы в списке приложений, пока его работа не будет остановлена. Можно открыть в Visual Studio другой проект и запустить его в эмуляторе — приложение добавится в список приложений эмулятора.

Прикрепление приложения к меню Пуск

  1. Откройте в эмуляторе список приложений.
  2. Нажмите и не отпускайте левую кнопку мыши на приложении Icons. Появится меню, которое позволяет удалить приложение из эмулятора или прикрепить приложение к меню Пуск.
  3. В открывшемся меню выберите пункт на рабочий стол. Приложение Icons будет прикреплено к меню Пуск рядом с плиткой приложения Internet Explorer.

Приложение также можно переместить в другое место меню Пуск или удалить из меню Пуск.

Редактирование значка приложения

  1. В обозревателе решений щёлкните правой кнопкой мыши по файлу ApplicationIcon.png.
  2. В открывшемся контекстном меню выберите пункт Открыть с помощью…, чтобы вывести на экран список программ, которые могут использоваться для работы с выбранным файлом.
  3. Выберите в списке программу Paint и нажмите OK. Откроется окно программы Paint, в котором будет открыто изображение из файла.
  4. Измените изображение и закройте программу Paint, сохранив сделанные изменения.
  5. В главном меню Visual Studio выберите пункт Построение -> Перестроить. Visual Studio заново создаст файлы программы и будет использовать изменённую версию значка.
  6. Запустите программу. Visual Studio удалит старую версию программы с эмулятора и развернёт новую версию с изменённым значком.
  7. Аналогичным образом измените изображения в файлах Background.png и SplashScreenImage.jpg. После повторного построения приложения будут изменены значок в меню Пуск и экран-заставка программы.

Упражнение 2. Исследование выгрузки приложения

В этом упражнении вы рассмотрите, как приложения выгружаются из памяти.

Создание приложения

  1. Откройте Visual Studio, создайте новый проект приложения Silverlight и назовите его Tombstone.
  2. Откройте файл App.xaml.cs и найдите методы, которые запускаются, когда происходят события запуска, закрытия, выгрузки и возобновления работы приложения. Добавьте в методы код для выдачи диагностических сообщений:
    // Код для выполнения при активации приложения (переводится в основной режим)
    // Этот код не будет выполняться при первом запуске приложения
    private void Application_Activated(object sender, ActivatedEventArgs e)
    {
        System.Diagnostics.Debug.WriteLine("Активировано");
    }
    
    // Код для выполнения при деактивации приложения (отправляется в фоновый режим)
    // Этот код не будет выполняться при закрытии приложения
    private void Application_Deactivated(object sender, DeactivatedEventArgs e)
    {
        System.Diagnostics.Debug.WriteLine("Деактивировано");
    }
    
    // Код для выполнения при закрытии приложения (например, при нажатии пользователем
    // кнопки "Назад")
    // Этот код не будет выполняться при деактивации приложения
    private void Application_Closing(object sender, ClosingEventArgs e)
    {
        System.Diagnostics.Debug.WriteLine("Закрывается");
    }
    
  3. Выберите в качестве целевого устройства эмулятор Windows Phone и запустите приложение.
  4. Выберите в главном меню Visual Studio пункт Вид -> Вывод. Откроется окно вывода диагностических сообщений. Последним сообщением будет Запущено.
  5. В эмуляторе щёлкните кнопку Назад, чтобы остановить программу. В окне вывода диагностических сообщений появится сообщение Закрывается.

Деактивация приложения

  1. Запустите программу в эмуляторе.
  2. Нажмите в эмуляторе кнопку Пуск для перехода к экрану меню Пуск. В окне вывода появится сообщение Деактивировано.
  3. Запустите в эмуляторе программу Internet Explorer.
  4. Нажмите в эмуляторе кнопку Назад, чтобы вернуться на экран меню Пуск.
  5. Нажмите в эмуляторе кнопку Назад ещё раз, чтобы вернуться на страницу приложения. В окне вывода появится сообщение Активировано.
  6. Закройте приложение.

Возобновление работы приложения

  1. Откройте файл App.xaml.cs.
  2. Найдите метод Application_Activated и измените его следующим образом, чтобы по выводимому сообщению можно было определить, из какого состояния приложение возобновляет свою работу:
    private void Application_Activated(object sender, ActivatedEventArgs e)
    {
        if (e.IsApplicationInstancePreserved)
        {
            System.Diagnostics.Debug.WriteLine("Активировано из состояния Бездействует");
        }
        else
        {
            System.Diagnostics.Debug.WriteLine("Активировано из состояния Выгружено");
        }
    }
    
  3. Выполните все действия предыдущей части упражнения. Обратите внимание, что приложение было активировано из состояния "бездействует" не выгружалось из памяти.

Выгрузка приложения из памяти

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

  1. Убедитесь в том, что приложение не запущено.
  2. В обозревателе решений щёлкните правой кнопкой мыши по файлу проекта и в открывшемся меню выберите пункт Свойства. Откроется окно свойств проекта.
  3. Выберите в окне свойств вкладку Отладка и установите галочку Отметить как удаленный в результате деактивации во время.
  4. Выполните пункт 3 предыдущей части упражнения. Обратите внимание, что приложение было активировано из состояния "выгружено".

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