共享和交换数据 (HTML)

[ 本文适用于编写 Windows 运行时应用的 Windows 8.x 和 Windows Phone 8.x 开发人员。如果你要针对 Windows 10 进行开发,请参阅 最新文档 ]

下面我们介绍了应用共享和交换数据的多种方法。

当今的用户应当能够使用相应的技术来与他人连接和共享。无论用户是希望与其社交网络共享链接,将图片复制到报告中,还是将文件上载到云存储,如今的应用都需要确保它们使用的数据还可供用户进行共享和交换。

存在多种在应用之间交换数据的方法。“共享”合约是其中的一种方法,它是新增功能,为了让你有效地使用该功能,我们将对其稍作阐释。剪贴板是另一种方法,为大多数开发人员(无论针对何种平台编写代码)所熟悉。但是,目前若要使用剪贴板,你不仅需要考虑内容,而且还需要考虑用于复制和粘贴的 UI。当你的应用使用触摸作为获取用户输入的主要方式时尤其如此。还有一种方法是保存,也已经出现了一段时间,但尚未用作数据交换方式。

我们已经将一些有关这些不同的数据共享和交换方式的信息汇集在一起,以帮助你决定哪些选项对于你的应用和用户最有意义。若要直接查看这些选项的操作情况,请跳转到我们的代码库并查阅以下示例:

如果你已经知道要使用哪种方式,而且只需要获得有关如何入门的帮助,下面的快速入门主题应当会对你有所帮助:

“共享”超级按钮

“共享”合约是用户可以在应用之间快速交换数据的一种方式。例如,用户可能希望使用社交网络应用与其好友共享网页,或者将链接保存在笔记应用中以供日后参考。 如果你的应用可能需要为处于另一个应用的上下文中的用户快速完成内容接收,则可以考虑使用“共享”合约。其中一个场景的常见内容可能是一个网页或一组照片。

注意  

用户在任何情况下都可以使用 Share charm 快速而轻松地访问所有可接收共享内容的应用。

注意  

Windows Phone 8.1 上不存在 Charms bar,因此你必须通过编程方式包括共享选项。它在任何情况下均可作为应用栏的一部分而被访问,也可与特定页面上的指定控件相关联。

“共享”合约包含两方面:源(共享数据)和目标(接收数据)。若要详细了解如何向你的应用添加共享,我们建议你先查阅添加共享。从这里,你将能够了解有关共享的工作原理以及如何入门的更多信息。你也可以查找两个完整代码示例:共享内容源应用示例共享内容目标应用示例

若要了解有关如何参与“共享”合约的详细信息,请参阅接收共享内容。

点击并发送

另一个共享功能称为“点击并发送”。在充当“共享”源的应用中,会自动包含“点击并发送”****选项。该选项使用近场通信 (NFC) 在应用用户之间共享数据。“点击并发送”尤其适合与附近的好友共享链接和文件。“点击并发送”****仅在支持 NFC 和邻近感应技术的设备上可用。

注意  

当应用具有要共享的内容时,“点击并发送”将自动显示在“设备”超级按钮上,因此用户可以通过使用简单的触控笔势或鼠标单击轻松访问它。

注意  

Windows Phone 8.1 上不存在 Charms bar,因此你必须通过编程方式包括共享“点击并发送”选项。它在任何情况下均可作为应用栏的一部分而被访问,也可与特定页面上的指定控件相关联。

了解有关关于邻近感应和点击的详细信息。

复制和粘贴

复制和粘贴是在应用之间或在应用内交换数据的传统方法。几乎所有的应用都可以在一定程度上支持复制和粘贴操作,用户对于这组操作非常熟悉,而且在进行联机体验的过程中会依赖它们。最初,复制和粘贴操作看上去与“共享”非常相似,因此很容易只使用其中的一个方式。但是,出色的开发人员能够认识到它们是两种不同的功能,而且能够提供非常不同的用户体验。

注意  

剪贴板优于共享的一个好处就是,它是唯一一种能够在 Windows 应用商店应用与桌面之间移动数据的方式。你还应该考虑用户访问复制和粘贴命令的方式。在鼠标和键盘环境中,经典的快捷键可能就足够了。但是,如果用户使用的是平板电脑,这些快捷方式将不可用。此时,应考虑使用应用栏、上下文相关菜单或不同控件来显示复制和粘贴命令。若要了解详细信息,请查阅我们的剪贴板命令指南和清单或完整的剪贴板应用代码示例

通过保存来接收文件

选择让其他应用将文件保存到你的应用中是用户在两个应用之间交换数据的另一种方式。 例如,假设你正在使用 Microsoft Word 处理一份计划书,你希望同事也可以访问该计划书。当你保存文件时,可以选择 Microsoft OneDrive 作为文件的保存位置。你无需跟踪文件,因为将其保存至 OneDrive 即表示已通知 OneDrive,它应为你跟踪该文件。

你的应用必须参与了“文件保存选取器”合约才能接收保存到自身的文件。参与此合约的应用被托管在文件选取器中,从提供文件保存入口点的应用可以访问该文件选取器。 如果用户希望将你的应用作为一个常用的文件保存位置,且用户通常要指定文件名、文件类型或文件位置时,可以考虑参与“文件保存选取器”合约。 如果已参与“文件打开选取器”合约,则除了满足用户对应用的固有期望之外,还需要添加“文件保存选取器”合约。 若要了解有关如何参与“文件保存选取器”合约的详细信息,请参阅快速入门:使用文件选取器访问文件或查看完整的代码示例

你应该支持哪些数据共享和交换选项?

当用户使用文件和文件夹时,让其他应用将你的应用用作文件保存位置非常有意义。它对于较小的数据集(如 URL 或文本选区)来说不太直观。在这些情况下,“共享”合约或复制和粘贴命令是更好的选择。也就是说,在许多情况下,既支持“共享”超级按钮又支持保存操作非常有意义。例如,考虑希望使用云存储服务(如 OneDrive)存储文件的用户。在这种情况下,“共享”合约和保存操作是同样有效的方法。最后,你需要考虑用户如何与你的应用交互,支持与用户的期望相匹配的合约和功能,并提供最佳的总体体验。