FinOps有望降低企业50%+的云成本! 了解详情
写点什么

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

  • 2011-09-27
  • 本文字数:1531 字

    阅读完需:约 5 分钟

微软最近推出了一项称为 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)并通过异步调用的方式将数据包传送给代理。代理会根据接收到的数据类型,从已注册的目标应用中选择目标应用,然后显示出供用户选择。一旦用户选择了发送目标,代理将激活该应用并同时将数据包传输给它。整个过程完成后,目标应用会给出传输完毕的提示,整个过程如下图所示:

分享是由底层新增的 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

2011-09-27 15:441459
用户头像

发布了 156 篇内容, 共 48.0 次阅读, 收获喜欢 4 次。

关注

评论

发布
暂无评论
发现更多内容

anyRTC语音开黑demo正式上线

anyRTC开发者

音视频 WebRTC 直播 RTC

MySQL数据库技术与应用:数据查询

华为云开发者联盟

MySQL 数据库 存储

USDT支付系统开发技术方案,数字货币承兑商支付

13530558032

2020年7月云主机性能评测报告

博睿数据

云计算 测试 公有云 评测 排行榜

这是一个奇怪的因果关系

陈磊@Criss

摄影

“度拉拉”升职记:中国语音助手的成长史

脑极体

数字货币交易所源码开发,区块链交易系统搭建服务商

13530558032

实践案例丨云连接CC实现跨区域多VPC与线下IDC Server互联

华为云开发者联盟

云服务 IDC

CentOS 7 安装 Python 3.7

wong

Python

在线游戏,如何把握住1个亿以上的DAU?

博睿数据

运维 监控 AIOPS 系统 用户体验

Spring Cloud 微服务实践(0) - 开篇闲话

xiaoboey

微服务 Spring Cloud Spring Boot Spring Framework

互联网只改变了商业的一部分,区块链将从根本上重构商业

CECBC

区块链 去中心化 互联网金融

裳雨

GongTeng95

写作 写作平台

大数据下单集群如何做到2万+规模?

华为云开发者联盟

大数据 集群

UML练习1-食堂就餐卡系统设计

博古通今小虾米

UML

2020年8月北京BGP机房网络质量评测报告

博睿数据

测试 机房 评测 排行榜 IDC

一次旅途

GongTeng95

不想搞Java了,4年经验去面试10分钟结束,现在Java面试为何这么难

Java架构师迁哥

分库分表中间件的高可用实践

无毁的湖光

MySQL TCP 高可用 分库分表 高性能

追光逐影:焦距与镜头语言

北风

创作 生活 摄影 光影 摄影征文

数字资产会成为人类最大的资产

CECBC

数字资产 数字化时代 孙正义

最新:央行副行长详解数字人民币,信息量巨大!

CECBC

人民币 数字人民币

python——自定义序列类

菜鸟小sailor 🐕

切片真的是引用类型嘛

Gopher指北

Go 语言

111

不在调上

活着

GongTeng95

一次压缩引发堆外内存过高的教训

AI乔治

Java kafka JVM

Linux基金会唯一官方微服务培训课程免费学 | 快速构建稳定可靠的微服务应用

TARS基金会

开源 微服务 培训 Linux基金会 TARS

数字货币量化交易,量化对冲搬砖系统开发

13530558032

高速路二维码报警定位系统开发,二维码报警定位功能

13530558032

危与机并存 保险业如何走好线上线下业务并举转型之路?

博睿数据

运维 监控 保险 AIOPS 系统

  • 需要帮助,请添加网站小助手,进入 InfoQ 技术交流群
Windows分享,Windows 8中崭新的数据交互方式_.NET_Abel Avram_InfoQ精选文章