在本篇开始之前,我想对所有的WP7的开发者说,其实在NET环境下的所有技术文章,最好的帮助莫过于MSDN,但是由于MSDN的技术点过多,所以有了很多技术文章的出现,这些文章有自己总结的经验,更有是MSDN的复制和粘贴。本系列教程是想对WP7开发中常用的技术点做一个总结和概括,并对重要的知识点进行概括和总结。下面将开始美妙的WP7开发之旅。
本篇介绍WP7开发中所有可能的章节的一个索引,并对异于手机开发的一些特性做出介绍。之所以列出一个索引,是希望给学习WP7开发的同学一个大体的轮廓,在学习的过程中,无论是否参照本篇教程,都能在脑海中有这个印象,做到高屋建瓴,也符合结构化的学习方法,同时对本人的WP7开发的研究也能形成一个系统化的框架。
对于WP7的控件部分,会开单独的文章进行介绍。
1、Windows Phone 7 开发的特性
-
启动器和选择器
-
位置数据(LBS)
-
媒体
-
试用版App
-
应用程序栏(ApplicationBar)
-
保存状态和页面导航
-
传感器
- 设备状态
-
相机和扩展程序
-
数据存储
-
全球化和本地化
-
磁贴
-
后台代理
-
性能分析
-
上架认证
-
安全性
-
推送通知
-
搜索可扩展性
以上几乎包括了手机开发中所有的不同于Web开发(Silverlight)或WPF的部分,其中数据存储和性能分析也适用于Silverlight,但是又有一些不同常规Web开发的部分,所以也将其包括进来,因为手机的硬件限制,对App的性能和存储要求更为严格。
2、各部分简介
- 启动器(Launcher)和选择器(Chooser)
启动器和选择器的最大区别是,启动器不会返回结果,而选择器会返回你选择的结果。
启动器包括:EmailComposeTask、MediaPlayerLauncher、PhoneCallTask、SavePhoneNumberTask、SaveEmailAddressTask、SearchTask、SmsComposeTask、WebBrowserTask、MarketplaceDetailTask、MarketplaceHubTask、MarketpalceReviewTask、MarketplaceSearchTask
选择器包括:EmailAddressChooserTask、CaptureCameraTask、PhoneNumberChooserTask、PhotoChooserTask
其中,SavePhoneNumberTask和SaveEmailAddressTask的分类会有些异议,因为这两个启动器也会返回一个保存是否成功的Result,但仅限于这两个bool型的结果。
- 位置数据
位置数据服务(Location Based Service),是指基于GPS/WI-FI/手机信号的一些地理位置的服务。
- 媒体
指在WP7中播放/处理视频、音频和使用收音机。
- 试用版App
这个部分主要是针对app上架到marketplace之时,允许上传者选择“允许下载试用版”的选项,这样微软会对你的app做一个试用版的处理,在你的app中直接调用LicenseInformation.IsTrial方法,即可判断程序是否是试用版。如何处理试用版的功能就依赖于你对app的设计,本章节比较简单,后续不再讨论。
- 应用程序栏
应用程序栏是指WP7下面的几个按钮/菜单项占用的地方,要注意的是,ApplicationBar的一些成员不支持绑定(Binding),在后续章节会详细讲解。
- 保存状态和页面导航
这部分主要是在手机进入Tombstone机制并从Tombstone机制激活和页面跳转之间的数据处理
- 传感器
包括重力感应器、罗盘和陀螺仪的使用以及组合数据的处理
- 设备状态
主要指固件版本、设备名称、硬件版本、内存使用、当前是否启用键盘等硬件设备信息。
- 相机和扩展程序
使用相机和照片选择功能、如何使用共享选取器等
- 数据存储
如何使用IsolatedStorage,并讲解如何使用虚拟文件系统和系统设置
- 全球化和本地化
如何对app设置多语言版本、对app中的排序、时间、语言进行本地化
- 磁贴(Tile)
添加、删除、更新图块,设置图块的初始属性
- 后台代理
包括文件传输、代理和警报
- 性能分析
主要涉及动画、图片、媒体使用时性能优化分析
- 上架认证
涉及到app上架认证到marketplace的主要常用条款
- 安全性
在WP7中的数据加密等
- 推送通知
使用Windows Phone Notification Service(WPNS)
- 搜索可扩展性
主要涉及app的连接扩展和app的即时应答集成