具体描述
本书立足于入门演练,以实例为导航来向读者介绍Windows Phone的相关知识,例子相对简单易懂,由浅入深,并且每个例子都有针对性,以便于读者对每一个知识点都有一个感性的认识。首先从安装Windows Phone SDK开始介绍,到新建第一个应用程序,再到应用程序项目文件的构成,然后着眼于全局,通过动手实践的方式,让读者从感性上对应用程序周期有一个初步的印象,接着演示布控件的使用方法、UI,并进行应用程序和系统、启动器与选择器、Socket通信、HTTP请求、推送通知服务、数据绑定、多媒体等相关的演练,让读者对其有一个全面的认识。最后通过三个完整实例,帮助读者进行综合应用实战,同时也向读者说明Windows Phone是非常适合企业级应用开发的。
作者简介
周家安,擅长Windows Phone及.NET平台下的其他开发技术。他在CSDN博客上推出的《Windows Phone开发轻松入门》专栏,因其通俗易懂、幽默风趣,并附有丰富实用的例子,引起了众多网友的关注,已被多家网站和相关论坛转载或收录。 曾在一家网络公司负责服装业电子商务平台的开发,以及两家ERP公司负责移动激光扫描终端的扩展应用和Web服务接口开发。其通过自学,成功地走上了编程之路。他乐于分享,一直在通过博客的方式向广大编程爱好者分享学习体验。
目录信息
第1章 准备工作/1
1.1 安装Windows Phone SDK/2
1.2 初试Windows Phone应用程序开发/2
1.3 了解Windows Phone应用程序项目的目录和文件结构/4
1.4 了解清单文件/5
1.5 入口点Main()到哪里去了/8
1.6 练习题/8
第2章 整体认识Windows Phone/9
2.1 通过输出调试信息掌握Windows Phone应用程序的生命周期/10
2.2 如何进行导航/14
2.3 处理导航相关的事件/15
2.4 在页面之间传递数据/16
2.5 URI映射/18
2.6 在导航中“前进”或“后退”/22
2.7 必要时屏蔽“回退”键/24
2.8 在导航历史中移除记录/25
2.9 保存和恢复应用程序状态/26
2.10 保存和恢复页面状态/29
2.11 练习题/32
第3章 用户界面与布局/33
3.1 设置Grid的行和列/34
3.2 在Grid中进行布局/35
3.3 在Grid中跨行或跨列布局/37
3.4 在Grid的单元格中定位/39
3.5 使用StackPanel排列子元素/42
3.6 在Canvas中精确布局子元素/43
3.7 在Canvas中使用Z-Index/44
3.8 在Grid中使用Canvas.ZIndex附加属性进行布局/45
3.9 如何嵌套使用布局控件/46
3.10 练习题/48
第4章 控件/49
4.1 在TextBlock中显示文本/50
4.2 改变TextBlock中文本的颜色/51
4.3 设置TextBlock中文本的字体/52
4.4 在TextBlock中换行—LineBreak元素的使用/53
4.5 将TextBlock的部分文本设置为斜体—Italic元素的使用/54
4.6 突出显示TextBlock的部分文本—Bold元素的使用/54
4.7 带渐变颜色的文字/55
4.8 灵活运用Run元素/58
4.9 事件处理/59
4.10 多个按钮共用一个事件处理程序/61
4.11 自定义Button的Content属性/63
4.12 使用图片作为控件背景/67
4.13 使用Border控件/68
4.14 你喜欢吃哪些蔬菜—CheckBox控件的使用/69
4.15 请选择您的性别—RadioButton控件的使用/71
4.16 HyperlinkButton让页面导航更轻松/72
4.17 我的图集—用Image控件显示图片/73
4.18 秀一下您的绘画天赋—关于InkPresenter的那些事/75
4.19 使用资源设置控件的属性/79
4.20 轻松统一应用程序的UI风格—样式的运用/80
4.21 呈现只读列表—ItemsControl控件/82
4.22 使页面支持屏幕翻转/83
4.23 根据屏幕方向的改变重新布局UI/85
4.24 弹出提示对话框/87
4.25 人机互动,让用户也能输入内容—TextBox控件/88
4.26 此处只能输入日期和数字/90
4.27 我的日程表—Pivot控件的使用/92
4.28 你平均每月要花多少钱—Slider控件的使用/94
4.29 通过XAML向ListBox中添加项/95
4.30 通过设置数据源的方式向ListBox中添加项/96
4.31 改变控件的透明度—Opacity属性的使用/97
4.32 显示大尺寸图片—ScrollViewer控件的用法/98
4.33 重复引发Click事件—RepeatButton控件/99
4.34 触控操作—ManipulationDelta事件/100
4.35 请输入密码—PasswordBox控件/102
4.36 报告处理进度—ProgressBar控件/103
4.37 在应用程序界面上呈现HTML页/105
4.38 用户控件实例—MyLoginControl/108
4.39 让控件“酷”起来—自定义控件模板/111
4.40 练习题/115
第5章 应用程序与系统信息/116
5.1 自定义应用程序图标/117
5.2 自定义应用程序的启动屏幕背景/118
5.3 将指定页面设置为启动页/119
5.4 修改您的应用程序信息/120
5.5 判断应用程序是在真实设备上运行还是在设备模拟器上运行/120
5.6 获取设备和设备制造商的名称/122
5.7 获取手机设备的物理内存大小/123
5.8 获取当前应用程序的内存使用情况/124
5.9 判断手机是否正在充电/126
5.10 判断是否启用了Wi-Fi网络/127
5.11 获得网络接口的配置信息/128
5.12 获取应用程序的启动模式/132
5.13 显示和隐藏当前应用程序页上的系统托盘/133
5.14 改变当前页上系统托盘的前景色和背景色/134
5.15 应用程序栏实例/134
5.16 在“开始”屏幕创建次要磁贴/137
5.17 更新磁贴信息/139
5.18 通过编辑清单文件来修改应用程序磁贴的初始属性/142
5.19 实现后台代理/143
5.20 实现后台播放音频/147
5.21 使用StreamResourceInfo读取应用程序资源/155
5.22 全球化简单应用/157
5.23 如何创建具有位置感知服务的应用程序/158
5.24 传感器的简单应用/162
5.25 获取电池状态信息/167
5.26 语音识别简单实例/168
5.27 练习题/170
第6章 启动器与选择器/171
6.1 明天去哪里玩—SmsComposeTask/172
6.2 如何在应用程序中拨打电话/173
6.3 发送电子邮件/175
6.4 邀请您的朋友一起来玩游戏吧/177
6.5 使用PhoneNumberChooserTask选择联系人电话号码/179
6.6 调用“网络连接设置”程序/181
6.7 启动Web搜索组件/183
6.8 调用媒体播放器/184
6.9 从手机中选择并显示照片/186
6.10 在应用程序中保存联系人信息/188
6.11 允许用户把喜欢的铃声存起来/190
6.12 启动Web浏览器并显示指定的URI/192
6.13 练习题/194
第7章 网络通信与推送通知服务/195
7.1 Socket应用—手机与计算机之间进行通信/196
7.2 向Web服务器发出HTTP请求并接收响应/206
7.3 使用WebClient向服务器提交数据/209
7.4 使用WebClient从服务器获取数据/214
7.5 发送和接收Toast通知/215
7.6 发送和接收磁贴通知/223
7.7 发送和接收Raw通知/231
7.8 访问Web服务/236
7.9 练习题/240
第8章 独立存储与I/O/241
8.1 在独立存储中创建和删除文件夹/242
8.2 在独立存储中读写文件/246
8.3 复制和移动文件/248
8.4 移动文件夹及其子内容/251
8.5 获取文件的基本信息/254
8.6 在独立存储中存取应用程序设置/256
8.7 对文本进行HMACSHA1加密/259
8.8 练习题/260
第9章 数据绑定和本地数据库/261
9.1 绑定数据源/262
9.2 将其他XAML元素用作数据源/265
9.3 自定义数据模板/266
9.4 使用转换器/268
9.5 LINQ简单实例/271
9.6 LINQ中的筛选/273
9.7 使用join子句/275
9.8 使用group子句/278
9.9 orderby子句/280
9.10 创建本地数据库/282
9.11 使用LINQ操作数据库/287
9.12 练习题/297
第10章 图形、动画与多媒体/298
10.1 使用矩形/299
10.2 使用椭圆/301
10.3 绘制直线/303
10.4 绘制闭合图形/304
10.5 绘制路径/305
10.6 路径标记语法/307
10.7 图像笔刷/309
10.8 渐变笔刷/311
10.9 将屏幕内容保存为图片/315
10.10 使用MediaElement播放多媒体/316
10.11 将视频用作笔刷—VideoBrush/320
10.12 制作淡入/淡出动画效果/321
10.13 控制动画的播放、暂停和停止/324
10.14 让矩形产生位移动画/326
10.15 制作旋转动画/328
10.16 制作缩放动画/329
10.17 神奇变色盒—如何使用颜色动画/331
10.18 缓动动画函数/332
10.19 关键帧动画/335
10.20 带缓动函数的关键帧动画/344
10.21 练习题/348
第11章 综合实例/349
11.1 简易手机录音机/350
11.2 国内飞机航班时刻表查询工具/365
11.3 在线英汉小词典/375
· · · · · · (收起)
读后感
微侠网的域名为“www.vipxap.com”,域名看似很长,其实解读以后会发现意义独特,也很好记忆,“vipxap”是“vip”和“xap”的组合,“vip”的英文意义大家基本上都了解,为“要员、贵宾、高级会员”之意,而“xap”则为WP安装程序的文件格式,所以“www.vipxap.com”的字面意...
微侠网的域名为“www.vipxap.com”,域名看似很长,其实解读以后会发现意义独特,也很好记忆,“vipxap”是“vip”和“xap”的组合,“vip”的英文意义大家基本上都了解,为“要员、贵宾、高级会员”之意,而“xap”则为WP安装程序的文件格式,所以“www.vipxap.com”的字面意...
微侠网的域名为“www.vipxap.com”,域名看似很长,其实解读以后会发现意义独特,也很好记忆,“vipxap”是“vip”和“xap”的组合,“vip”的英文意义大家基本上都了解,为“要员、贵宾、高级会员”之意,而“xap”则为WP安装程序的文件格式,所以“www.vipxap.com”的字面意...
微侠网的域名为“www.vipxap.com”,域名看似很长,其实解读以后会发现意义独特,也很好记忆,“vipxap”是“vip”和“xap”的组合,“vip”的英文意义大家基本上都了解,为“要员、贵宾、高级会员”之意,而“xap”则为WP安装程序的文件格式,所以“www.vipxap.com”的字面意...
微侠网的域名为“www.vipxap.com”,域名看似很长,其实解读以后会发现意义独特,也很好记忆,“vipxap”是“vip”和“xap”的组合,“vip”的英文意义大家基本上都了解,为“要员、贵宾、高级会员”之意,而“xap”则为WP安装程序的文件格式,所以“www.vipxap.com”的字面意...
用户评价
让我着重强调一下这本书在**性能调试和诊断工具运用**方面的篇幅和深度。在当前的移动开发环境中,性能优化已经不再是锦上添花,而是决定生死存亡的关键要素。这本书在这方面展现了极强的实战导向性。它详细介绍了如何有效地利用内置的性能分析器来捕获和定位那些隐藏极深的内存泄漏点和不必要的UI重绘。很多教程只是简单提一下这些工具的存在,但这本书却深入到了参数设置和报告解读的层面,甚至给出了针对特定场景的优化“快捷键”。更重要的是,它强调了**预防胜于治疗**的理念,指导我们在编码阶段就植入性能友好的结构。我特别喜欢它关于“异步编程模型(TAP)”在UI线程管理中的应用章节,它不仅解释了`async`/`await`的语法,更深入探讨了如何在复杂的事件流中保持响应性而不引发死锁或竞态条件。这种对底层机制的透彻理解,是构建高性能应用大厦的坚实地基。
这本书简直是为那些对移动应用开发充满热情,却又常常在技术细节的泥沼中迷失方向的开发者量身定做的指南。我刚拿到手的时候,光是翻阅目录就被那种扑面而来的实在感震撼了。它没有过多地纠缠那些基础到让人昏昏欲睡的编程概念,而是直接切入了那些真正能让应用脱颖而出的“硬核”技巧。比如说,书中对后台任务管理和数据同步策略的讲解,简直是教科书级别的清晰。作者显然是经历过无数次线上崩溃和性能瓶颈的折磨,才能提炼出这些“血泪经验”。我尤其欣赏它在处理资源优化上的细致入微,对于内存敏感的移动平台来说,这部分内容简直是救命稻草。读完相关章节后,我立刻着手优化了我正在进行的一个项目中的启动速度,效果立竿见影,用户反馈的卡顿情况明显减少。这本书的价值不在于教你如何“Hello World”,而在于教会你如何构建一个**健壮、高效且能经受住真实世界考验**的应用程序。它更像是一位经验丰富的老兵,在你即将踏上战场前,悄悄塞到你口袋里的那把瑞士军刀。
说实话,市面上很多号称“精解”的书籍,读起来常常让人感觉像是在看一本冗长乏味的官方API文档的“美化版”,但这本书完全不是那种套路。它真正的亮点在于那几个深度剖析的**实战案例**。这些案例选择得非常巧妙,涵盖了从复杂的传感器数据融合到高频网络通信等多个领域,每一个案例都不仅仅是代码的堆砌,而是对特定技术难点背后的设计哲学进行了深入的剖析。我印象最深的是关于“磁贴(Live Tile)高级定制”的那一章,作者没有满足于默认的模板,而是展示了如何通过自定义数据源和动画效果,将信息推送变成一种艺术。这种对用户体验细节的极致追求,才是区分业余和专业开发者的关键。它强迫你跳出单一模块的思维定式,去思考整个应用生态的交互逻辑。如果你只是想应付面试,这本书可能显得有点“过重”了;但如果你是那种追求将自己的作品打磨到发光的匠人型开发者,那么这些案例简直是无价之宝,它们为你提供了可以直接借鉴和快速迭代的“蓝图”。
从排版和结构上来说,这本书的编排也体现了对读者体验的尊重。图表的质量非常高,那些用来说明数据流向和组件交互的流程图,逻辑清晰,色彩分明,很少出现那种让人眼花缭乱的“意大利面条式”代码块。它懂得在关键的技术点上留白,让你有时间消化吸收,而不是被密集的文字淹没。此外,书中对**生态系统变动的前瞻性**处理也值得称赞。它并没有停留在过时的API上,而是对平台未来的发展趋势有所预判,并提供了兼容和迁移的思路。这意味着这本书的“保质期”相对较长,它不仅解决了当前的问题,也为你未来的技术栈升级打下了基础。总而言之,这是一本可以让你在遇到棘手的技术难题时,毫不犹豫地伸手去拿,并且确信能从中找到可靠出路的**工具书和思维指南**的完美结合体。它真正做到了“精解”二字,将复杂的技术问题层层剥开,直到核心的逻辑显现。
这本书的叙事风格是如此的**平易近人却又不失专业深度**,这在我看来是最难得的平衡点。作者似乎深谙一个道理:最好的教学不是填鸭式灌输,而是引导式探索。在阐述某些复杂概念时,它会先抛出一个实际开发中遇到的“坑”,然后不疾不徐地拆解这个“坑”的成因,最后提供一整套优雅的解决方案。这种“问题—分析—解决”的结构,让阅读过程充满了节奏感和解谜的乐趣。我记得在讲到XAML数据绑定与MVVM模式的最佳实践时,它引用了几个非常形象的比喻,一下子就把原本抽象的架构概念具象化了。这种行文的“温度感”,让读者感觉像是在跟一位耐心的资深同事进行一对一的技术交流,而不是在啃一本冰冷的教材。它成功地跨越了理论的围墙,将那些藏在角落里的最佳实践,用一种你**愿意主动去吸收**的方式呈现了出来。对于初学者来说,它降低了入门的门槛;对于老手来说,它提供了校准思维的参照系。
一本入门级的编程书
一本入门级的编程书
一本入门级的编程书
一本入门级的编程书
一本入门级的编程书