Спонсор: Microsoft
Опубликован: 27.12.2012 | Доступ: свободный | Студентов: 429 / 35 | Длительность: 09:19:00
Специальности: Программист
Лекция 8:

Использование чудо-кнопок и контрактов

< Лекция 7 || Лекция 8: 12345 || Лекция 9 >

Пример реализации возможностей передачи данных в приложении FoodTruck

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

Задание

Продумайте сценарии, когда ваше приложение могло бы быть целью, а когда - источником передачи данных.

Использование контракта FilePicker (работа с файлами)

WinRT-приложения могут использовать средства работы с файлами, чтобы обеспечить другие приложения доступом к файлам, местом для хранения файлов и даже информацией об обновлениях файлов. Эти возможности реализуются благодаря контрактам FileOpenPicker (открытие файлов), FileSavePicker (сохранение файлов), и CashedFileUpdater (обновление кэшированных файлов).

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

  • доступ к файлам;
  • место для хранения файлов;
  • информация об обновлении отдельных файлов.

Доступ к файлам

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

Приложения, в которых реализован контракт FileOpenPicker, расположены в нижней части списка

увеличить изображение
Приложения, в которых реализован контракт FileOpenPicker, расположены в нижней части списка

Обеспечение места для хранения файлов

Вы можете позволить пользователю сохранять файлы в ваше приложение, тогда оно появится в списке программ, в которые можно сохранять файлы.

Программа SkyDrive, предоставляющая место для хранения файлов

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

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

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

Совет: если ваше приложение выступает в качестве места хранения файлов, то вам необходимо предоставить доступ к файлам вашего приложения, используя контракт FileOpenPicker.

Предоставление обновлений файлов в режиме реального времени

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

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

Совет: если ваше приложение поддерживает предоставление обновлений в режиме реального времени, оно также должно предоставлять место для хранения файлов и доступ к файлам с использованием контрактов FileSavePicker и FileOpenPicker.

Правильное использование средств работы с файлами в приложениях

Придерживайтесь этих инструкций,чтобы настроить средства работы с файлами.

Доступ к файлам и папкам

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

Добавление функции "сохранить как"

Добавьте в приложение функцию "сохранить как", с помощью которой пользователь сможет редактировать имя, тип файла, путь его сохранения. Эта функция, фактически, задействует средство работы с файлами, и после настройки параметров пользователь сможет сохранить файл там, где ему нужно.

Сохранение файла с использованием средства для работы с файлами

увеличить изображение
Сохранение файла с использованием средства для работы с файлами

Неправильное использование средств для работы с файлами в приложении

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

Не используйте средства работы с файлами для сохранения файлов, если сохранение не предполагает уникального имени или пути сохранения

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

Настройте типы файлов, чтобы пользователь мог выбирать или сохранять только файлы того типа, с которыми может работать ваше приложение

Настройте селектор файлов таким образом, чтобы он отображал только поддерживаемые вашим приложением типы файлов.

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

Установите режим просмотра файлов или папок, основанный на типе их содержимого.

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

Задайте текст, соответствующий выполняемой задаче, для кнопки подтверждения

Задайте текст кнопки подтверждения операции, который соответствует задаче, выполняемой пользователем. Например, если пользователь хочет выбрать группу файлов для загрузки в приложение, установите текст кнопки подтверждения в "Выгрузить" (Upload).

Задайте набор мест, которые соответствуют текущей задаче пользователя

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

Позвольте пользователю выбирать один или несколько файлов, основываясь на выполняемой им задаче

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

Создайте имя по умолчанию для файлов, которые пользователь сохраняет

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

Контракт Settings (Параметры)

Применив контракт Settings, вы можете предоставить пользователю возможность работать с настройками приложения из панели чудо-кнопок. Когда вы используете чудо-кнопку Параметры, в её панели появляются настройки для открытого на данный момент приложения, которые пользователь может изменить под собственные нужды.

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

В зависимости от задач пользователя, ваша панель параметров может выглядеть очень по-разному в разных приложениях
< Лекция 7 || Лекция 8: 12345 || Лекция 9 >
Максим Домшенко
Максим Домшенко
Россия, Курск, Региональный Финансово-Экономический Институт
Андрей Бобылев
Андрей Бобылев
Россия, Москва