新書推薦:
《
牛津立法研究手册
》
售價:NT$
1630.0
《
制度为什么重要:政治科学中的新制度主义(人文社科悦读坊)
》
售價:NT$
290.0
《
梦醒子:一位华北乡居者的人生(1857—1942))(第2版)
》
售價:NT$
340.0
《
啊哈!原来如此(中译本修订版)
》
售價:NT$
290.0
《
部分识别入门——计量经济学的创新性方法
》
售價:NT$
345.0
《
东野圭吾:变身(来一场真正的烧脑 如果移植了别人的脑子,那是否还是我自己)
》
售價:NT$
295.0
《
推荐连接万物
》
售價:NT$
290.0
《
严复与福泽谕吉启蒙思想比较(王中江著作系列)
》
售價:NT$
750.0
|
編輯推薦: |
相对于第1版,第2版修订内容如下:? 手写与墨迹应用;? 应用预启动功能及在前台后台之间的切换;? x:Bind绑定标记的使用;? 人脸检测技术的应用;? 扫描无线网络;? 远程激活;? 应用与Cortana的交互。附赠资源如下:? 程序代码:提供了全书第2章~第15章的完整实例代码。? 教学视频:15集教学视频,涵盖了全书15章的重要知识点。
|
內容簡介: |
本书通过丰富且简单易学的示例,全面讲述了面向Windows 10通用应用(UWP)开发相关的知识和技巧。主要内容包括应用项目基本结构、页面导航、排版布局、控件、数据视图、图形、动画、图像、多媒体、文件与数据、网络通信、传感器和语音技术等。 本书可为对Windows技术感兴趣的读者提供参考,可作为希望从事Windows 10平台开发的开发人员的入门教程,也可作为普通高校或培训机构.NET技术相关课程的参考教材,尤其适合具备.NET框架和C#编程语言基础的读者使用。
|
關於作者: |
周家安:微软最有价值专家(MVP),擅长.NET及其相关开发技术,专注于探索简单实用的编程学习方法。从事过基于Windows CE扫描终端应用的项目开发和Web服务接口的项目开发。长期在博客园等技术社区撰写Windows相关技术文章,并出版有《深入浅出:Windows 8.1应用开发》《Windows 10 应用开发实战》《精通C# 5.0》《C#6.0学习笔记从第一行C#代码到第一个项目设计(全程视频课堂)》等畅销图书。
|
目錄:
|
目录
丛书序(沈向洋)Ⅰ
第2版前言Ⅲ
第1版前言Ⅴ
第1章准备工作
1.1安装Visual Studio开发环境
1.2Visual Studio个性设置
1.2.1选择颜色主题
1.2.2设置字体
1.2.3设置启动界面
1.2.4设置项目的默认存放路径
1.2.5用好快速启动功能
1.3通用应用
1.3.1新的XAML设计器
1.3.2如何使用特定平台的API
1.4使用帮助文档和示例代码
第2章了解应用程序项目
2.1应用程序项目的文件结构
2.2应用程序入口点
2.3应用程序生命周期
2.3.1Application类
2.3.2挂起与恢复
2.3.3处理前台与后台之间的切换
2.3.4预启动
2.4清单文件
第3章页面导航
3.1实现导航
3.2导航事件
3.3传递导航参数
3.4管理导航记录
3.5处理手机上的后退键
3.6缓存页面实例
3.7保存和恢复导航状态
第4章排版布局
4.1网格布局
4.2栈布局
4.3按坐标布局
4.4Z顺序
4.5对齐方式
4.6边距
4.7自适应布局
4.8自适应触发器
第5章控件
5.1Control类
5.1.1控件模板
5.1.2控件状态
5.1.3获取控件的状态列表的技巧
5.2路由事件
5.3按钮
5.3.1Button
5.3.2RepeatButton
5.3.3HyperlinkButton
5.4单选框与多选框
5.5呈现静态文本
5.5.1TextBlock
5.5.2RichTextBlock
5.5.3处理文本溢出
5.5.4嵌入自定义字体
5.6显示图像
5.7文本输入控件
5.7.1TextBox
5.7.2RichEditBox
5.8选取日期和时间
5.9ViewBox控件
5.10报告进度
5.10.1ProgressBar
5.10.2ProgressRing
5.11对话框
5.11.1MessageDialog
5.11.2ContentDialog
5.12上下文菜单
5.12.1PopupMenu
5.12.2MenuFlyout
5.13应用程序栏
5.14命令
5.15开关控件
5.16滑动条
5.17用户控件
5.18自定义控件
5.19WebView控件
5.19.1呈现HTML内容
5.19.2执行脚本函数
5.19.3捕捉HTML内容
5.20SplitView控件
5.21墨迹处理
第6章数据视图
6.1数据绑定
6.1.1绑定方向
6.1.2Binding类
6.1.3Binding扩展标记
6.1.4数据绑定的继承性
6.1.5转换器
6.1.6更改通知
6.2ItemsControl控件
6.3DisplayMemberPath与SelectedValuePath
6.4数据模板
6.4.1自定义数据模板
6.4.2数据模板选择器
6.5分组视图
6.6自定义数据项的布局
6.7缩放视图
6.8Pivot与Hub
6.8.1Pivot控件示例
6.8.2Hub控件示例
6.9FlipView控件
6.10增量加载
6.11直接绑定到方法
第7章图形
7.1构造图形的基础元素
7.2画刷
7.2.1单色画刷SolidColorBrush
7.2.2线性渐变画刷LinearGradientBrush
7.2.3图像画刷ImageBrush
7.3基本图形
7.3.1直线Line
7.3.2椭圆Ellipse
7.3.3矩形Rectangle
7.3.4折线Polyline
7.3.5多边形Polygon
7.4路径
7.4.1LineGeometry
7.4.2RectangleGeometry
7.4.3EllipseGeometry
7.4.4PathGeometry
7.4.5GeometryGroup
7.5二维变换
7.5.1平移TranslateTransform
7.5.2旋转RotateTransform
7.5.3缩放ScaleTransform
7.5.4复合变换CompositeTransform
7.5.5使用相对定位的变换原点
7.6三维透视
7.7三维变换
第8章动画
8.1动画概要
8.1.1时间线
8.1.2演示图板Storyboard
8.1.3动画分类
8.1.4如何与动画时间线关联
8.2控制动画播放行为
8.3简单动画
8.4关键帧动画
8.5属性路径
第9章图像
9.1用于UI的图像加载
9.2将可视化对象呈现为图像
9.3可写位图(WriteableBitmap)
9.4图像的解码与编码
9.4.1图像解码
9.4.2图像编码
9.5图像处理
9.6人脸检测
第10章多媒体
10.1MediaElement与多媒体播放
10.2后台音频
10.3转码
10.4多媒体捕捉
10.5捕捉屏幕
第11章启动与激活
11.1Launcher组件
11.2自定义文件关联
11.3协议激活
11.4激活远程系统上的应用
第12章文件与数据
12.1文件与目录
12.1.1文件目录操作的相关类型
12.1.2读写本地文件
12.1.3FileIO与PathIO
12.1.4DataWriter与DataReader
12.1.5访问特殊目录
12.2应用设置
12.3访问可移动存储
12.4文件与目录选择器
12.5StorageApplicationPermissions类
12.6XML与JSON数据处理
12.6.1读写XML
12.6.2操作JSON数据
12.7数据共享
12.7.1剪贴板
12.7.2向其他应用程序共享数据
12.7.3接收共享数据
12.8应用程序服务
第13章网络通信
13.1Socket通信
13.1.1基于UDP协议的通信
13.1.2通过TCP协议传输数据
13.2访问Web服务
13.3HTTP协议通信
13.4后台传输
13.5推送通知
13.6访问RSS资源
13.7扫描WiFi网络
第14章传感器与地理定位
14.1设备坐标
14.2传感器的使用方法
14.3罗盘
14.4加速度传感器
14.5磁倾仪
14.6陀螺仪
14.7光感器
14.8方向传感器
14.9高度计
14.10气压计
14.11获取电池信息
14.12获取地理位置
第15章语音技术
15.1语音识别
15.2自定义语音识别规则
15.2.1自定义SGRS文件
15.2.2短语列表约束
15.3语音指令
15.4语音朗读
15.5Cortana与应用程序的后台交互
|
內容試閱:
|
序言
第2版前言自首次发布(版本build 10240)以来,Windows 10操作系统已经推送过两次正式的更新版本,分别是build 10586与build 14393,面向开发者的SDK工具以及API版本也跟随系统进行了相应的更新,本书是依据正式发布的SDK最新版本(即build 14393,不包含最新的预览版本)来进行编写的。本书精心挑选了一些面向开发者的新功能,并结合实例加以阐述,以帮助广大读者朋友了解新版SDK和API集。本次修订将包括以下新内容:手写与墨迹应用;应用预启动功能以及在前后台之间的切换;x: Bind绑定标记的使用;人脸检测技术的应用;扫描无线网络;远程激活;应用与Cortana的交互。随着平台的统一,以及装机量的急速增长,面向Windows 10的通用应用(UWP)数量也相应增加,而且许多旧版本(主要面向Windows 88.1)的应用也进行了相应的替换与更新,以适应新的系统环境。UWP应用可运行于多种Windows设备上,使得移动应用不仅仅局限于手机平台,而是扩展到包括各种台式计算机、笔记本计算机、平板电脑以及物联网等设备上,移动应用的用途与发展空间得到了前所未有的拓展。以目前的形势来看,Windows 10未来会有更大的发展潜力,对UWP应用的需求也会随之增长,希望本书内容对广大Windows开发者会有所帮助,我们也欢迎更多对Windows应用感兴趣的开发者参与UWP应用的开发。由于作者的水平有限,本书难以兼顾UWP开发方面的所有知识点。编写本书的目的仅仅是为初学者提供参考。如果书中出现错误或不妥之处,也欢迎读者朋友批评指正。说明: 本书配套资源下载地址为http:pan.baidu.comslo8k9mqu。
作者2017年1月
第1版前言尽管在Windows 8.1的SDK中已经出现了Universal App通用应用程序,UAP,但还不能算是真正意义上的通用,只是完成了代码共享,而面向Windows与Windows Phone的应用仍然是彼此独立的。Windows 10顺利地完成了应用的通用与平台的统一,UAP模型最终形成。使用面向Windows 10的SDK,开发者只需要开发单个应用程序,就可以运行于各种Windows设备上,例如PC、平板电脑、手机等。开发者无须为多种设备开发单独的应用。基本内容本书的主题都是围绕Runtime App开发而展开的,系统地介绍了Runtime App开发的基础知识,主要涵盖以下内容:学习前的准备工作;了解UAP项目的结构;页面与导航;应用页面的布局与设计;各种控件的使用;数据视图;图形绘制与动画处理;图像与多媒体处理;启动与激活;管理文件和数据;常用的网络通信技术;传感器的使用;语音技术。光盘内容本书配套的光盘资源中,除了包含书中所有示例的源代码外,还附带相关的视频演示。视频文件包括以下内容:UAP简介;应用程序生命周期;页面与导航;布局控件使用;对话框;后台任务示例;读写本地文件示例;App Service应用服务示例;读取PDF文档示例;JSON数据处理示例;序列化与反序列化示例;文件关联示例;OCR识别示例;如何升级应用项目。适用性本书适用于:具备.NET平台开发基础知识或熟悉C#语言的读者;对Windows 10 UAP开发感兴趣的读者;希望加入Windows应用开发阵营的移动应用开发者;作为各类培训机构或高等院校相关专业的参考教材。如何使用本书本书采用通俗易懂的讲解风格,尽量避免出现晦涩难懂的描述与理论说教,降低入门者的理解难度。同时,书中针对每个知识点都附有简单示例程序。读者在阅读本书的时候,可以先阅读每个知识点的介绍说明,然后将附带的示例应用运行一遍,先从感性上直观地观察一下运行效果。当读者对知识点和示例有一定了解后,不妨尝试一下独立完成书中的示例项目,这样做可以帮助读者真正掌握相关的知识和技巧。当读者了解书中的示例后,也可以进行二次创作,即适当地将示例代码进行修改,使其变成一个新的示例。如此一来,一个示例可以变成两个、三个,甚至更多的示例,读者从中也学会了如何灵活地去运用学到的知识。当然,该做法对于从未进行过任何程序开发的入门者而言,会有些困难。刚开始的时候,读者可以抱着尝试的心态去做,不要在乎付出的劳动是否马上得到回报。欲速则不达!只要坚持不懈,一点一滴地积累和总结,相信每个人有志于步入编程殿堂的人都会收获颇丰。后续工作学习本书内容后,读者应该具备独立开发应用程序的能力。此时读者可以考虑运用所学知识去参与或开发一些Windows应用; 也可以在本书的学习基础上,继续学习面向Windows 10的其他开发方向如面向物联网设备的应用开发,进而充分体验只需一个应用,便可以运行在PC笔记本、xBox游戏机、平板电脑、手机等多种平台的乐趣。勘误与支持由于作者水平有限,书中难免会有一些不妥之处,也可能出现错误和不准确的叙述。望读者朋友不吝指出和反馈。读者朋友可以通过以下途径与作者联系:电子邮件: csdev2012@foxmail.com博客: http: www.cnblogs.comtcjiaan微博: http: weibo.comtcjiaan鸣谢本书能够顺利完成,离不开所有亲朋好友们的鼓舞和支持。感谢众多网友所给予的肯定,也感谢清华大学出版社给了我一个写作的机会,感谢盛东亮编辑,在书稿的写作过程中给予了我极大的帮助和支持。
作者2015年8月
第3章页面导航通过上一章的学习,读者已经了解到应用程序的基本结构,以及如何对应用程序生命周期内各个阶段进行处理,本章将向读者讲述与页面导航相关的内容。与网站应用程序相似,UAP应用程序也会划分为多个页面,不同的页面将向用户呈现不同的内容。例如,一个闹钟应用程序可能存在以下页面: 浏览页面用于列出用户已经创建的闹钟清单以及每条闹钟信息的状态; 编辑页面可用于填写新闹钟信息或修改现有闹钟的信息; 设置页面允许用户对应用程序进行个性化选择,如自定义闹钟铃声等。可见,合理使用页面导航,能够增强应用程序的层次性和逻辑表现能力。本章内容包括:使用Frame类实现页面导航;导航并传递参数;管理导航记录;处理手机上的回退按钮事件;理解页面缓存;管理页面的导航状态。3.1实现导航Frame类派生自ContentControl类,这说明它是一个内容控件。与其他内容控件不同的是,Frame具有导航功能,因此,Frame类的内容属性所承载的通常是应用程序页面的实例,而实现页面导航是通过调用Navigate方法来完成的,该方法有多个重载,比较常用的有以下两个重载版本:
public bool NavigateSystem.Type sourcePageType;
public bool NavigateSystem.Type sourcePageType, object parameter;
其中,sourcePageType参数是必须的,类型为Type,即要导航的目标页面的类型。第二个重载版本有一个parameter参数,可为任意类型,表示导航参数,也就是在导航到目标页面时传递的附加信息,目标页面可以根据parameter参数来做出相应处理,本章后面会向读者详细说明。每个应用程序页面由Page类表示,但通常不会直接使用Page类,在向应用程序项目添加新页面时都会从Page类派生出一个子类,即自定义页面类,Navigate方法中的sourcePageType参数则指定为自定义页面类的Type。如果导航顺利完成,Navigate方法返回True,否则返回False。如果导航失败,会引发NavigationFailed事件。下面示例将演示如何通过Frame对象来实现页面导航。应用程序项目包含两个页面: FirstPage和SecondPage。应用程序运行后将导航到FirstPage页,接着在FirstPage页上单击页面下方的命令按钮进入SecondPage页。
|
|