Integración con contratos del selector de archivos (aplicaciones de Windows en tiempo de ejecución)
[ Este artículo está destinado a desarrolladores de Windows 8.x y Windows Phone 8.x que escriben aplicaciones de Windows en tiempo de ejecución. Si estás desarrollando para Windows 10, consulta la documentación más reciente
Las aplicaciones pueden usar el selector de archivos para ofrecer a otras aplicaciones archivos, una ubicación para guardar e incluso actualizaciones de archivos. Para ello, se integran con el contrato del Selector de archivos para abrir, el contrato del Selector de guardar archivo o el contrato de Actualizador de archivos en caché respectivamente.
Funcionamiento de los selectores de archivos
A través del selector de archivos, la aplicación puede obtener acceso a archivos y carpetas en cualquier parte del sistema del usuario. Cuando llamas al selector de archivos, el usuario puede examinar el sistema y otras aplicaciones para seleccionar archivos (o carpetas). Después de que el usuario seleccione archivos o carpetas, la aplicación recibe estas selecciones como objetos StorageFile y StorageFolder. La aplicación luego puede actuar sobre las carpetas y los archivos seleccionados utilizando dichos objetos. Para más información sobre cómo acceder a los archivos, consulta Acceso a archivos y permisos de archivo.
El selector de archivos también puede servir para que los usuarios lo usen para seleccionar archivos y carpetas de tu aplicación. Los archivos seleccionados de tus aplicaciones con el selector de archivos se consideran archivos del sistema de archivos: se devuelven como objetos StorageFile. Gracias a ello, el usuario selecciona archivos de tu aplicación para usarlos en otra aplicación. Por ejemplo, si tu aplicación es una galería de fotos, quizá quieras ofrecer las imágenes en la galería para que el usuario pueda usar tu aplicación para seleccionarlas con intención de modificarlas en un editor de fotos.
Si quieres que tu aplicación conceda acceso a otras aplicaciones a archivos, a una ubicación de almacenamiento o a actualizaciones de archivo, la aplicación deberá participar en contratos como el contrato del Selector de guardar archivo, el contrato del Selector de archivos para abrir y el contrato de Actualizador de archivos en caché. Para participar en estos contratos, decláralos en el manifiesto de tu aplicación y agrega UI o código a la aplicación para que se integre con los contratos en cuestión.
Este es un diagrama que ilustra cómo funciona el selector de archivos para conectar una aplicación, como un editor de fotos (la aplicación que llama), con los archivos suministrados por una aplicación de galería (la aplicación suministradora), de forma que el usuario pueda seleccionar los archivos desde la aplicación de galería.
Participar en contratos de aplicación de selectores de archivo
Procedimiento: Inicio rápido: proporcionar acceso a archivos con selectores de archivos
Referencia: Windows.Storage.Pickers.Provider namespace
Muestra: Muestra de contratos de selector de archivos
Proporcionar acceso a archivos
Si tu aplicación tiene una visualización única o valiosa de esos archivos o si los usuarios no pueden acceder fácilmente a los archivos de otra manera, ten en cuenta el uso del selector de archivos para proporcionar archivos a otras aplicaciones. Puedes permitirles a los usuarios explorar y elegir archivos proporcionados por tu aplicación a través de una ventana del selector de archivos al participar en el contrato del Selector de archivos para abrir. Si la aplicación participa en este contrato, los usuarios podrán seleccionar tu aplicación en la lista de ubicaciones en la parte superior izquierda del formato letterbox del selector de archivos. Cuando el usuario seleccione tu aplicación, el selector de archivos cargará todas las modificaciones que hagas en el formato letterbox y una página que hayas diseñado para mostrar archivos, para que el usuario pueda explorarlos y elegirlos.
Esta captura de pantalla ha sido modificada para resaltar y etiquetar el área central de una ventana del selector de archivos para mostrar dónde se cargará la página de visualización de archivos de la aplicación. |
Una aplicación de música puede permitir a los usuarios explorar y elegir archivos por intérprete o título del álbum, independientemente de cómo estén organizados los archivos en el sistema del usuario. O bien, una aplicación de galería de fotos puede permitir a los usuarios explorar y elegir archivos que no están en el sistema del usuario pero que están hospedados en un servicio web como Facebook o Flickr.
Si no quieres permitir a los usuarios explorar y elegir archivos con tu aplicación a través de una ventana del selector de archivos, también tienes la opción de permitirles compartir archivos de tu aplicación, mediante la integración con el Contrato para ofrecer contenido compartido. Para obtener más información acerca de cómo integrar la aplicación en el Contrato para ofrecer contenido compartido, consulta Cómo compartir archivos.
Proporcionar una ubicación para guardar
Ten en cuenta el uso del selector de archivos para ofrecer tu aplicación como una ubicación donde el usuario puede guardar archivos si la aplicación conecta al usuario con un servicio que hospeda sus archivos o si supones que el usuario querrá guardar un número de archivos para abrirlos y trabajar con ellos en tu aplicación más adelante. Puedes permitir a los usuarios guardar archivos en tu aplicación al participar en el contrato del Selector de guardar archivo. Si la aplicación participa en este contrato, los usuarios podrán seleccionar tu aplicación en la lista de ubicaciones en la parte superior izquierda del formato letterbox del selector de archivos cuando usen un selector de archivos para guardar un archivo. Cuando el usuario selecciona tu aplicación, el selector de archivos abre una página que diseñarás para mostrarle al usuario la ubicación para guardar de la aplicación (con los archivos o subcarpetas existentes si existen).
Esta captura de pantalla ha sido modificada para resaltar y etiquetar el área central de una ventana del selector de archivos para mostrar dónde se cargará la página que muestra la ubicación para guardar de la aplicación (en la captura de pantalla se muestra una página de la aplicación de Microsoft OneDrive). |
Una aplicación que conecta al usuario con archivos hospedados en Facebook o en OneDrive puede permitirle usar la aplicación como una ubicación para guardar, de manera que pueda cargar archivos fácilmente. O bien, una aplicación que permite al usuario editar archivos de audio puede permitirle usar la aplicación como una ubicación para guardar, de manera que pueda crear una cola de los archivos de audio que quiere editar la próxima vez que abra el editor.
Permitir que otras aplicaciones usen tu aplicación como ubicación para guardar archivos es una buena opción cuando el usuario trabaja con archivos y carpetas. El procedimiento es menos intuitivo cuando se trata de conjuntos más pequeños de datos, como una dirección URL o una selección de texto. En esos casos, el acceso a Compartir o los comandos copiar y pegar son las mejores opciones. Dicho esto, hay muchas situaciones en las que resulta conveniente admitir el acceso a Compartir y la función guardar. Por ejemplo, piensa en un usuario que quiere almacenar un archivo mediante un servicio de almacenamiento en la nube, como OneDrive. En este caso, tanto el acceso a Compartir como la función guardar son opciones válidas. Finalmente, debes considerar la manera en que el usuario interactúa con tu aplicación y admitir los contratos y las características que se adecuan a las expectativas del usuario y ofrecen la mejor experiencia general. Para obtener más información acerca de cómo integrar la aplicación en el Contrato para aceptar contenido compartido, consulta Inicio rápido: recepción de contenido compartido. Para obtener más información sobre el uso de comandos de copiar y pegar, consulta Inicio rápido: conceptos básicos sobre el Portapapeles.
Sugerencia Si tu aplicación funciona como una ubicación para guardar, también debes proporcionar acceso a los archivos de la aplicación al participar en el contrato del Selector de archivos para abrir.
Proporcionar actualizaciones de archivos en tiempo real
Ten en cuenta la posibilidad de ofrecer actualizaciones de archivos si la aplicación se usa para conectar o administrar un repositorio central de los archivos del usuario. La participación en el contrato de Actualizador de archivos en caché permite a tu aplicación realizar actualizaciones en archivos en el repositorio de la aplicación y proporcionar actualizaciones para las versiones locales de los archivos del repositorio. Si la aplicación participa en este contrato y encuentra una actualización que requiere intervención del usuario, el selector de archivos cargará una página que diseñarás para recopilar la información necesaria del usuario.
Una aplicación de almacenamiento remoto, como OneDrive o DropBox, puede proporcionar actualizaciones de versiones locales de un archivo para asegurar que el usuario vea la versión más reciente del archivo en su repositorio, o puede realizar actualizaciones en un archivo en el repositorio si el usuario guarda una versión más reciente.
Sugerencia Si tu aplicación proporciona actualizaciones de archivo, también debe proporcionar una ubicación para guardar y acceso a los archivos al participar en el contrato del Selector de guardar archivo y en el contrato del Selector de archivos para abrir, respectivamente.
Temas relacionados
Obtener acceso a datos y archivos
Muestras
muestra del selector de archivos
Muestra de contratos de selector de archivos
Referencia
Windows.Storage.AccessCache namespace
Windows.Storage.Pickers namespace
Windows.Storage.Pickers.fileOpenPicker class
Windows.Storage.Pickers.fileSavePicker class
Windows.Storage.Pickers.Provider namespace
Compartir
Inicio rápido: recepción de contenido compartido
Uso de selectores de archivos
Inicio rápido: acceso a archivos mediante selectores de archivos
Cómo guardar archivos mediante selectores de archivos
Directrices y lista de comprobación de selectores de archivos