Интеграция с контрактами средств выбора файлов (приложения среды выполнения Windows)

[ Эта статья адресована разработчикам приложений среды выполнения Windows для Windows 8.x и Windows Phone 8.x. При разработке приложений для Windows 10 см. раздел последняя документация]

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

Работа средств выбора файлов

Используя средство выбора файлов, ваше приложение может получить доступ к файлам и папкам в любом расположении в системе пользователя. Открыв средство выбора файлов, пользователь может просматривать систему и другие приложения и выбирать файлы (или папки). После выбора пользователем файлов или папок приложение получает эти выбранные элементы как объекты StorageFile и StorageFolder. Далее приложение может работать с выбранными файлами или папками с использованием этих объектов. Дополнительные сведения о доступе к файлам см. в разделе о доступе к файлам и разрешениях.

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

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

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

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

Участие приложения в контракте выбора файлов

Руководства: Краткое руководство. Предоставление доступа к файлам с помощью средства выбора файлов

Справочные материалы: Windows.Storage.Pickers.Provider namespace

Пример: образец контракта средства выбора файлов

Предоставление доступа к файлам

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

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

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

 

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

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

Предоставление расположения для сохранения

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

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

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

 

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

Разрешать другим приложениям использовать ваше приложение как место сохранения файлов имеет смысл тогда, когда пользователь работает с файлами и папками. Этот выбор не слишком интуитивно понятен, когда пользователь работает с небольшими наборами данных, например с URL-адресом или выделенным текстом. В таких случаях лучше выбрать чудо-кнопку "Поделиться" или команды копирования и вставки. С другой стороны, существует множество ситуаций, в которых разумно обеспечивать поддержку как чудо-кнопки "Поделиться", так и сохранения данных. Предположим, что пользователь хочет хранить файл с помощью службы облачного хранения, такой как OneDrive. В этой ситуации чудо-кнопка "Поделиться" и сохранение — одинаково допустимые варианты. И наконец, вам следует учитывать то, как пользователь взаимодействует с вашим приложением, а также поддерживать контракты и возможности, которые соответствуют ожиданиям пользователя и в итоге обеспечивают наилучшее взаимодействие. Об интеграции с контрактом получателя данных см. в разделе Краткое руководство: получение содержимого общего доступа. Об использовании команд копирования и вставки см. в разделе Краткое руководство: основы работы с буфером обмена.

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

 

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

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

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

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

 

Связанные разделы

Осуществление доступа к данным и файлам

Примеры

пример средства выбора файлов

образец контракта средства выбора файлов

Справочные материалы

Windows.Storage.AccessCache namespace

Windows.Storage.Pickers namespace

Windows.Storage.Pickers.fileOpenPicker class

Windows.Storage.Pickers.fileSavePicker class

Windows.Storage.Pickers.Provider namespace

Общий доступ

Как обмениваться файлами

Краткое руководство. Получение общего содержимого

Использование средств выбора файлов

Краткое руководство: доступ к файлам с помощью средства выбора файлов

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

Руководство и контрольный список для средств выбора файлов