快速构建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)  越多的应用程序,分享机会就更多;

时间: 2024-11-11 17:38:15

快速构建Windows 8风格应用14-ShareContract概述及原理的相关文章

快速构建Windows 8风格应用23-App Bar概述及使用规范

原文:快速构建Windows 8风格应用23-App Bar概述及使用规范 本篇博文主要介绍App Bar概述.App Bar命令组织步骤.App Bar最佳实践.   App Bar概述 Windows 8 Store应用中的App Bar(应用程序工具栏)起到的作用和Windows Phone中AppBar一样.我们可以向用户提供各种操作接口,实现导航或者触发命令等. AppBar一般默认是隐藏的,也可以设置为始终可见.我们可以通过清扫屏幕上边缘或下边缘时显示AppBar,AppBar被点击

快速构建Windows 8风格应用36-商店应用发布流程

原文:快速构建Windows 8风格应用36-商店应用发布流程 引言 在发布应用之前,我们需要注册开发者账号才能够发布应用.我们可以登录https://appdev.microsoft.com/StorePortals/ 该网址进行注册开发者账号,同时我们也可以点击这里来浏览MSDN给到的开发者账号注册的详细步骤.那么注册完成开发者账号后,如何发布Windows Store 应用程序呢? Windows Store App 发布流程 1,使用Visual Studio 2012打开要上传的应用,

快速构建Windows 8风格应用32-构建辅助磁贴

原文:快速构建Windows 8风格应用32-构建辅助磁贴 引言 Windows Phone中,我们开发者可能会开发的一个功能点是将数据列表中某一项"Pin To Start(固定到开始屏幕)",大家都知道这种固定到开始屏幕的磁贴叫做辅助磁贴(也叫二级磁贴),用户可以通过该辅助磁贴启动应用程序并导航到应用程序中某一个页面或某一位置. 其实Windows 8 Store风格应用程序也引入了辅助磁贴的概念,用户在使用Windows 8 Store应用的辅助磁贴和Windows Phone

快速构建Windows 8风格应用1-开发工具安装及模拟器使用

原文:快速构建Windows 8风格应用1-开发工具安装及模拟器使用 本篇博文主要介绍的是开发Windows 8风格应用中常用的两个开发工具:Visual Studio 2012和Expression Blend for Visual Studio 2012.Windows 8模拟器功能按钮介绍以及Visual Studio 2012安装步骤. 首先简单介绍一下Visual Studio 2012和Expression Blend for Visual Studio 2012. Visual S

快速构建Windows 8风格应用21-构建简单媒体播放器

原文:快速构建Windows 8风格应用21-构建简单媒体播放器 本篇博文主要介绍如何构建一个简单的媒体播放器. <快速构建Windows 8风格应用20-MediaElement>博文中提到了如何使用MediaElement对象进行播放视频的简单功能,但是在实际应用中需要更复杂的功能,例如:控制视频播放的控件.全屏模式.进度条等等其他功能. 本篇博文中示例使用应用程序中包含的媒体文件,当然我们也可以通过网络或者本地[使用FileOpenPicker]进行加载某一媒体文件. MSDN中关于媒体

快速构建Windows 8风格应用29-捕获图片与视频

原文:快速构建Windows 8风格应用29-捕获图片与视频 引言 本篇博文主要介绍Windows 8中相机的概念.捕获图片与视频的基本原理.如何实现捕获图片与视频.相机最佳实践. 一.相机 关于相机 1.相机对话框提供了触屏优化的全屏体验,你可从嵌入的或附加的相机中捕获照片和视频. 2.全屏对话框处理显示相机 UI 的工作. 3.通过此对话框,你可以使用对 Windows.Media.Capture.CameraCaptureUI.captureFileAsyncAPI 的一种方法调用捕获照片

快速构建Windows 8风格应用35-触控输入

原文:快速构建Windows 8风格应用35-触控输入 引用 Windows 8设备通常具有多点触摸屏,用户可以同时使用多个手指来进行不同的输入交互,如点击.拖动或收缩等手势操作.另外Windows 8中将触摸.鼠标和笔/触笔交互是作为指针输入进行接收.处理和管理. 一.手势处理 首先我们来汇总一下Windows 8中常用的手势都有哪些. 1,点击:用一个手指触摸屏幕,然后抬起手指. 2,长按:用一个手指触摸屏幕并保持不动. 3,滑动:用一个或多个手指触摸屏幕并向着同一方向移动. 4,轻扫:用一

快速构建Windows 8风格应用22-MessageDialog

原文:快速构建Windows 8风格应用22-MessageDialog 本篇博文主要介绍MessageDialog概述.MessageDialog常用属性和方法.如何构建MessageDialog   MessageDialog概述 MessageDialog指的就是对话框. 对话框的命令栏中最多包含三个命令.如果我们指定任何命令,将会有一个默认命令添加到对话框中,目的是关闭对话框. 对话框弹出后界面中所有元素将在对话框下面显示,并且将会阻塞任何触摸事件直到用户进行响应对话框. 另外对话框应该

快速构建Windows 8风格应用26-本地应用数据

原文:快速构建Windows 8风格应用26-本地应用数据 本篇博文主要介绍如何获取应用的设置和文件容器.如何将数据写入设置.如何从设置中获取数据.如何删除设置中数据.如何将数据写入文件.如何从文件中获取数据. 当应用安装时,系统会为设置和文件等应用数据提供它自己的每用户数据存储.我们不需要知道这些数据存在哪里或如何存储,因为系统会负责管理物理存储工作.我们只需使用应用数据API就可以了. 本地应用数据一般用于当前设备数据的持久化,并且本地数据没有限制大小,通常情况使用本地数据存储大型数据集.

快速构建Windows 8风格应用2-创建调试应用

原文:快速构建Windows 8风格应用2-创建调试应用 本篇博文主要介绍的是创建应用时可以选择哪些模版,生成默认的Windows 8风格应用解决方案中含哪些文件,最后是如何调试Windows 8风格应用. 我们如何使用Visual Studio 2012创建Windows 8风格应用呢?可归结为以下几步: 1.选择我们要使用的开发语言,例如:JavaScript.C++.C#.Visual Basic. 2.选择项目模版,可以选择以下常用的项目模版: 1)拆分应用(Split App)模版 可