BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Windows分享,Windows 8中崭新的数据交互方式

| 作者 Abel Avram 关注 10 他的粉丝 ,译者 贾国清 关注 0 他的粉丝 发布于 2011年9月28日. 估计阅读时间: 5 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

微软最近推出了一项称为Windows分享(Windows Share)的机制,该机制可实现Windows 8中不同应用间的信息共享。应用间可对文本、位图、HTML代码、URI、文件以及其他类型的数据进行共享,这种机制有着广泛的应用场景。例如,当应用收到信息后可同时将信息发送至Twitter和Facebook,极大简化了向社交网络中再次发布的过程(信息自动传递而无需登陆不同的社交网站)。

微软高级项目经理Billie Sue Chafins和伙伴开发经理Steve Seixeiro,在BUILD 2011大会上发表了题为“分享:用你的应用来提升Windows 8的分享体验”的演讲。他们详细介绍了即将发布的Windows 8中的分享特性。Windows分享类似于某种全局剪贴板,可以在应用间相互传递信息,但与传统剪贴板不同的是,它能够更好的在系统中集成并且提供更加丰富的功能。

Windows分享接受以下标准的数据格式:文本、富文本、位图、可存储项(如文件等)、URI、HTML代码等,此外,其他一些扩展格式也可通过信息流传输:地址、联系人、人员信息、地理位置等。用户在应用中分享信息时,系统会列出所支持信息类型的应用清单,这时,只需从中选择一个,数据便会立即发出。

分享特性定义了传输过程中以下类型的参与者:

  • 源应用——任何可以与其他应用分享信息的应用
  • 目标应用——任何可以接受来自其他应用分享的数据的应用
  • 代理——数据源与目标之间的传输媒介

只要有可供分享的信息,大多数应用都可作为源应用,微软也鼓励开发者开发出具备源特性的应用。目标应用可以是那些对接受和处理信息感兴趣的应用。分享特性的好处在于,Windows将会提供内置的信息交换协议,如此一来,开发者将免去为数据交换首先要在数据格式上达成一致的烦恼。对于扩展格式的引入,需要首先提供对已知数据格式的支持,所以,建议使用Schema.org中支持的标准数据格式。

举例来说,从IE中分享网页URL或文本到Twitter或Facebook这类社交网站,目标应用是Tweet@rama和Socialite这种负责将数据发送到各自网络的应用。信息分享的方式和途径多种多样,这些都等着开发者在更多的应用中实践。

要想分享数据,源应用首先需要在数据传输管理器(Data Transfer Manager)中注册,当用户在Windows选择分享操作时会首先列出已注册的数据源,然后准备数据包(Data Package)并通过异步调用的方式将数据包传送给代理。代理会根据接收到的数据类型,从已注册的目标应用中选择目标应用,然后显示出供用户选择。一旦用户选择了发送目标,代理将激活该应用并同时将数据包传输给它。整个过程完成后,目标应用会给出传输完毕的提示,整个过程如下图所示:

image

分享是由底层新增的Windows.ApplicationModel.DataTransfer模块实现,该模块与Windows运行时(WinRT)绑定。下面是用JavaScript实现的准备数据源的代码示例:

// 创建数据传输管理器(Data Transfer Manager)

var dataTransferManager = Windows.ApplicationModel.DataTransfer.DataTransferManager.getForCurrentView();

// 创建填充数据包的事件监听器

dataTransferManager.addEventListener("datarequested", function (e) {

// 将要分享的数据填充到数据包中

var request = e.request;

request.data.properties.title = "Title for data";

request.data.properties.description = "Description of the data";

request.data.setText("Text to share");

...

});

目标应用应具备修改应用描述文件以及创建HTML页面的功能,这样在进行分享时,目标应用才能被正确显示。Visual Studio提供了创建这种应用的基础模板,大大简化了开发工作。

Windows分享为Windows 8提供了一种便捷的可在应用间进行信息交互的方式,同时也与Metro界面相互兼容。

查看英文原文:Windows Share, a New Data Exchange Mechanism in Windows 8

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT