快速构建Windows 8风格应用14-ShareContract概述及原理
原文:快速构建Windows 8风格应用14-ShareContract概述及原理
本篇博文主要介绍Share Contract概述、Share Contract实现原理、实现Share Contract意义。
Share Contract概述
我们都知道Windows 8中包含3类不同的Contract:Search Contract、Share Contract、Setting Contract。这三种Application Contract为整合Windows 8体验提供了一致性的编程模型。
现在微博,人人都是非常火的平台,我们很多人都愿意将自己所见所闻在这些平台上进行分享。在我们电脑上可能包含许多个不同的应用,包括社交类。
那么我们怎么将这些应用信息与社交类应用进行分享呢?Windows 8为我们提供了强大的Share Contract,可以让两个应用之间信息进行共享。
Share Contract提供了一种轻量级的,与上下文相关的共享体验。
Windows 8完成了允许跨应用共享的繁重工作,同时共享源应用应该包含尽可能多的数据格式,同样共享目标也应该支持更过的格式。

Share Contract实现原理
Windows 8为了方便开发者在应用中实现Share Contract已经做了大量的工作,开发者不需要关系不同应用程序之间相互共享的协议,就可以很轻松的实现共享。开发者只需要在自己的应用程序中申明有东西可以共享或者可以接受其他应用程序共享的内容就OK了。
Windows 8为Share Contract构建的结构中包含“源程序”和“目标程序”,“源程序”和“目标程序”之间的传输纽带是“数据包”,并且“数据包”存在于“源程序”当中。
那么如何实现从源程序到目标程序的共享呢?

1) 源应用需要在DataTransfer Manager(数据传输管理器)中注册,并声明要传输的DataPackage(数据包);
2) 共享代理中,用户选择“Share Contract”(共享),激活应用;
3) 源应用中接受事件,填充数据包;
4) 完成异步调用后返回;
5) 共享代理中筛选出可以进行共享的目标应用和快速链接列表;
6) 用户决定选择哪一个目标应用或快速链接;
7) 共享代理将目标应用激活,方便进行共享,并且目标应用不需要全屏显示,只需要合适的大小显示就可以了。
8) 目标应用处理获取到的数据包中内容;
9) 当目标应用处理完成后,通知共享代理已经完成,就可以移走目标应用的共享页面了;
实现Share Contract意义
1) 我们的应用可以建立用户与他们关心的人,关注的其他应用程序间的联系;
2) 用户可以通过其他的应用程序分享到我们开发的应用中;
3) 越多的应用程序,分享机会就更多;
快速构建Windows 8风格应用14-ShareContract概述及原理的更多相关文章
- 快速构建Windows 8风格应用23-App Bar概述及使用规范
原文:快速构建Windows 8风格应用23-App Bar概述及使用规范 本篇博文主要介绍App Bar概述.App Bar命令组织步骤.App Bar最佳实践. App Bar概述 Windo ...
- 快速构建Windows 8风格应用1-开发工具安装及模拟器使用
原文:快速构建Windows 8风格应用1-开发工具安装及模拟器使用 本篇博文主要介绍的是开发Windows 8风格应用中常用的两个开发工具:Visual Studio 2012和Expression ...
- 快速构建Windows 8风格应用21-构建简单媒体播放器
原文:快速构建Windows 8风格应用21-构建简单媒体播放器 本篇博文主要介绍如何构建一个简单的媒体播放器. <快速构建Windows 8风格应用20-MediaElement>博文中 ...
- 快速构建Windows 8风格应用36-商店应用发布流程
原文:快速构建Windows 8风格应用36-商店应用发布流程 引言 在发布应用之前,我们需要注册开发者账号才能够发布应用.我们可以登录https://appdev.microsoft.com/Sto ...
- 快速构建Windows 8风格应用32-构建辅助磁贴
原文:快速构建Windows 8风格应用32-构建辅助磁贴 引言 Windows Phone中,我们开发者可能会开发的一个功能点是将数据列表中某一项"Pin To Start(固定到开始屏幕 ...
- 快速构建Windows 8风格应用29-捕获图片与视频
原文:快速构建Windows 8风格应用29-捕获图片与视频 引言 本篇博文主要介绍Windows 8中相机的概念.捕获图片与视频的基本原理.如何实现捕获图片与视频.相机最佳实践. 一.相机 关于相机 ...
- 快速构建Windows 8风格应用17-布局控件
原文:快速构建Windows 8风格应用17-布局控件 本篇博文主要介绍三种常用的布局控件:Canvas.Grid.StackPanel. Panel类是开发Windows 8 Store应用中一个重 ...
- 快速构建Windows 8风格应用15-ShareContract构建
原文:快速构建Windows 8风格应用15-ShareContract构建 本篇博文主要介绍共享数据包.如何构建共享源.如何构建共享目标.DataTransferManager类. 共享数据包 Da ...
- 快速构建Windows 8风格应用13-SearchContract构建
原文:快速构建Windows 8风格应用13-SearchContract构建 本篇博文主要介绍如何在应用中构建SearchContract,相应的原理已经在博文<快速构建Windows 8风格 ...
随机推荐
- 在SQL Server Management Studio中可以运行作业但是用T-SQL运行则失败
原文:在SQL Server Management Studio中可以运行作业但是用T-SQL运行则失败 问题: 在SQL Server Management Studio中可以运行作业但是用T-SQ ...
- 三思考,实现自己定义404页:Tomcat、SpringMVC精确匹配、重写DispatchServlet
第1种方式:Tomcat直接处理 web.xml <error-page> <error-code>404</error-code> <location> ...
- 10624 - Super Number
题目链接 题意:给出n到m的范围,求出一个数在前i位数组成的数字能被i整除.假设存在输出这个数,假设不存在.输出-1. 思路:回溯,每次放第i位,然后推断是否符合题意.这题踩着时间过去的2.6s(看了 ...
- android 渐变drawable
渐变Drawable它是使用<gradient>的标记的形状Drawable定义子节点的定义. 每个梯度Drawable求至少要有一个startColor和endColor属性,而且支持一 ...
- Meld Diff for windows 安装和配置
Meld Diff for windows 安装和配置 假设你在ubuntu 正在开发中, meld diff 此工具你肯定不会感到陌生. 而且很容易使用. 在网上看 meld for Windows ...
- spring整合JMS - 基于ActiveMQ实现
一. 开篇语 继上一篇apache ActiveMQ之初体验后, 由于近期一直在复习spring的东西, 所以本文就使用spring整合下JMS. 二. 环境准备 1. ActiveMQ5.2.0 ( ...
- iptables惹的祸
我的工作环境总是一台Mac机+在Mac机上跑的虚拟机(Virtual Box) 有一个错误我总是在犯:宿主机总是无訪问到虚拟机里的web服务. 解决方法也非常easy:那就是关闭虚拟机上的防火墙!!! ...
- nefu117 素数个数的位数,素数定理
素数个数的位数 Time Limit 1000ms Memory Limit 65536K description 小明是一个聪明的孩子,对数论有着非常浓烈的兴趣.他发现求1到正整数10n 之间有多少 ...
- SendRedirect和forward差分
(1)重定向JSP实现JSP/Servlet跳转到目标资源的方法中,基本的想法是:server目标资源完成URL通过HTTP 在回答本报发client浏览器.收到的浏览器URL更新到地址栏后,而目标资 ...
- ZOJ-3652-Maze(BFS)
Celica is a brave person and believer of a God in the bright side. He always fights against the mons ...