今年春天在拉斯维加斯的MIX 10会议上我第一次知道了有关Windows Phone7的开发,我想分享我的想法。作为一名开发人员,Windows Phone7移动电话应用平台的问世无疑是令人感到非常的兴奋,因为它能让像那些熟悉C#和Silverlight开发的开发者可以马上用我现有的技能和工具的知识迅速的着手Windows Phone 7平台开发。另外,这些代码可以运行在多种平台,包括电话,网络,个人电脑和Xbox。这种代码复用的能力意味着大家的应用程序可以通过Windows Phone7的MarketPlace推送到数以百万的客户手中。现在向大家展示这个新的开发平台,以便对你开始进行Windows Phone的开发带来帮助。
新功能和用户界面
Windows Phone是微软手机软件一个的新起点。它的“3 screens + cloud”(即个人电脑,电话,电视加上互联网)的应用平台可以创建具备cloud-powered的用户体验。微软提供的这些功能来开发应用程序,可以使这些应用运行在多种设备,包括台式电脑,手机和Xbox游戏机上。
Windows Phone7的设计系统主题意味着你可以设计提供高性能的集成的用户体验。这些API允许你创建直观的应用程序,例如,如果你想添加一个期望有特定类型输入的TextBox,如URL或电话号码,你可以指定的电话自动改变键盘布局,来使预期的字符方便存取。
<TextBox Text="http://www.microsoft.com">
<TextBox.InputScope>
<InputScope>
<InputScopeName NameValue="Url"/>
</InputScope>
</TextBox.InputScope>
</TextBox>
Windows Phone7提供了两种类型的用户界面框架:Silverlight的框架(详见)可让您快速创建丰富的和高度交互性的应用,XNA框架用于高性能应用平台(二维和三维等游戏)设计的。在这两种UI框架上开发的应用包括可以通过触摸或硬件按钮进行输入的捕获,媒体捕获和回放,可透过语言集成查询(LINQ)访问独立数据存储,获得手机功能,并获得云为基础的服务(如微软Windows Azure)。
基于Azure的云服务提供应用程序部署和更新功能,通知服务,身份服务,定位服务,地图,以及Xbox Live的整合。这些服务让最终用户在所有他们自己的设备(multiple phones, Xbox)以及其他用户之间共享他们的信息。
位置服务是特别有趣,因为目前的框架可以从提供商(全球定位系统,无线网络,或无线网络)那里得到位置,这取决于你需要的位置数据的准确定位程度。(有关详细信息,请参见如何:从位置服务中获取数据。)
例如,如果你需要高精确度的位置,而且设备每移动20米就需要进行数据更新时,您可以使用下面的代码:
GeoCoordinateWatcher watcher=newGeoCoordinateWatcher(GeoPositionAccuracy.High);
watcher.MovementThreshold=20;
watcher.PositionChanged+=
newEventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(watcher_PositionChanged);
watcher.Start();
void watcher_PositionChanged(objectsender, GeoPositionChangedEventArgs<GeoCoordinate>e)
{
Deployment.Current.Dispatcher.BeginInvoke(()=>MyPositionChanged(e));
}
void MyPositionChanged(GeoPositionChangedEventArgs<GeoCoordinate>e)
{
LatitudeTextBlock.Text=e.Position.Location.Latitude.ToString("0.000");
LongitudeTextBlock.Text=e.Position.Location.Longitude.ToString("0.000");
}
多点触摸输入是现代手机销售的最大点之一。这里你可以学会如何使用Manipulation Event在Windows Phone7中处理多触摸事件。假设Windows Phone页面上有一个矩形:
<Canvas>
<Rectangle
Name="rectangle"
Width="200"Height="200"
Fill="Blue"Stroke="Blue"StrokeThickness="1"/>
</Canvas>
ManipulateDelta事件处理程序如下所示:
privateTransformGroup transformGroup;
privateTranslateTransform translation;
privateScaleTransform scale;
publicMainPage()
{
InitializeComponent();
this.ManipulationDelta+=this.PhoneApplicationPage_ManipulationDelta;
this.transformGroup=newTransformGroup();
this.translation=newTranslateTransform();
this.scale=newScaleTransform();
this.transformGroup.Children.Add(this.scale);
this.transformGroup.Children.Add(this.translation);
this.rectangle.RenderTransform=this.transformGroup;
}
void PhoneApplicationPage_ManipulationDelta(objectsender,ManipulationDeltaEventArgs e)
{
//Scale the rectangle.
this.scale.ScaleX*=e.DeltaManipulation.Scale.X;
this.scale.ScaleY*=e.DeltaManipulation.Scale.Y;
//Move the rectangle.
this.translation.X+=e.DeltaManipulation.Translation.X;
this.translation.Y+=e.DeltaManipulation.Translation.Y;
}
当您运行这段代码时,可以移动屏幕上的矩形。如果您的开发计算机支持多触摸或者如果你已经部署到实际设备,还可以使用两个手指调整矩形大小。
Runtime API和硬件
Windows Phone7的Runtime API集可以让您开发的用户体验与整体的用户界面主题相一致。这些API使您可以访问硬件功能,如传感器,照册和视频媒体,相机,电话服务,定位服务和通知服务。
Windows Phone7的硬件规格规定的最低硬件要求,设备制造商必须支持。例如,所有手机都提供一个500万像素带闪光灯的摄像头,4个或更多的接触点,以及DirectX 9硬件加速。设备必须支持屏幕分辨率为480 × 320或800 × 480。在硬件规格向你保证,关键硬件功能将提供,在所有的设备以一个一致的方式通过手机的Runtime API。例如,这就是你能获得的加速度传感器,并显示有关手机的方向信息:
AccelerometerSensor accelerometer=AccelerometerSensor.Default;
accelerometer.ReadingChanged+=
newEventHandler<AccelerometerReadingAsyncEventArgs>(accelerometer_ReadingChanged);
accelerometer.Start();
void accelerometer_ReadingChanged(objectsender, AccelerometerReadingAsyncEventArgs e)
{
Deployment.Current.Dispatcher.BeginInvoke(()=>MyReadingChanged(e));
}
void MyReadingChanged(AccelerometerReadingAsyncEventArgs e)
{
statusTextBlock.Text=accelerometer.State.ToString();
XTextBlock.Text=e.Value.Value.X.ToString("0.00");
YTextBlock.Text=e.Value.Value.Y.ToString("0.00");
ZTextBlock.Text=e.Value.Value.Z.ToString("0.00");
}
关于加速度计的细节,您可以点击这里:Windows Phone加速度计概述
入门
要开始开发Windows Phone7应用,您将需要Windows Phone开发工具。作为开发工具的一部分,你可以使用Visual Studio 2010 Express for Windows Phone或者Windows Phone Add-in for Visual Studio如果您已经有Visual Studio 2010的话。如果你想写XNA-based应用程序,您还需要Expression Blend4,XNA Game Studio。(了解更多关于为Windows Phone创建第一个XNA-based应用)
这些工具可以从微软网站获取。此外,您可以下载免费的开发工具,以便得到设备仿真器和Visual Studio项目模板。
http://www.microsoft.com/downloads/details.aspx?FamilyID=2338b5d1-79d8-46af-b828-380b0f854203&displaylang=en
设计和开发你的应用程序将作为您的Silverlight应用程序。然后在模拟器上测试,或部署到测试设备上。
当您完成您的应用程序时,你将会把这个项目打包到.xap应用程序包文件中。它包含应用程序运行所需要的所有的东西:应用程序本身、描述了应用程序如何使用目标电话设备的元数据,启动画面出现时的tile,应用程序图标以及授权条款。
获取你的应用程序
在您的应用程序可以提供给他人之前,你需要注册开发者门户服务。您需要使用你的Windows Live ID进行登录和确立你为WindowsPhone平台开发应用程序的开发者身份。在你的应用程序能够在Marketplace上可以被获取之前,你将会提供一个证书被用来标志你的应用,他们是在Windows电话市场上提供的。开发者门户网站还提供管理,计费和报告工具,让您可以找出有哪些用户在使用您的应用程序,同时可以知道你可以赚到多少钱。
一旦你已经打包并签署您的应用程序,您提交给开发者门户网站认证。这一过程将验证申请符合目标市场的法律,法规,不滥用手机上存储的用户信息,并普遍表现良好(例如,不过度使用CPU周期,不消耗电池,不干预电话的核心功能如打电话的能力)。
关于如何获取报酬的问题是每个开发者都非常关心的问题。你可以选择开发免费,付费,或“freemium”(先试后买)的应用程序。当您发布您的应用程序时你可以决定在开发门户网站上的收费结构。终端用户可以通过信用卡支付或通过移动运营商结算。应用程序开发人员占到收入的70%。
通过Marketplace你可以部署应用程序更新,其他的将自动向用户推送。当需要更新应用时,用户将会被通知并询问他们是否要更新他们设备上的应用。
试试看
在Windows Phone7平台上进行应用程序开发看起来是一件令人兴奋的事。因为现在你可以使用你现有的技能和工具,但你也可以得到创新,而且从你的应用程序开发中赚到一些钱。微软已经提供了一个环境,从编码到使您的应用程序可以销售,而且可以跟踪你的应用程序被用户使用的情况,而且还提供更新。
分享到:
相关推荐
Windows Phone7是微软重新打造windows mobile品牌之后推出的一款产品。
本书适合于Windows Phone 7开发入门的读者,也适合于从其他智能手机平台转向Windows Phone 7平台的读者,同时对于有Windows Phone 7开发经验的读者也极具参考价值。 本书系统论述了Windows Phone 7操作系统的应用...
因此编写Silverlight for Windows Phone 7开发系列文章,从简单到深入的讲述Silverlight for Windows Phone 的开发。这个系列主要讲述一个网络收音机的开发过程,这一网络收音机程序涉及到Silverlight控件的使用,...
从0开始做Windows Phone 7开发 Windows Phone 7的开发环境部署非常的简单,开始Windows Phone 7的旅途吧,还等什么呢? Let’s go!
对Windows Phone 7应用程序生命周期的深度剖析,在与硬件进行交互和使用Expression Blend来创建更丰富的用户界面方面提供的建议,这些都有助于你学习创建独特而又实用的Windows Phone 7应用程序。
Windows Phone 7开发环境安装教程汇总,供学习参考。
内容提要: 本书对WindowsPhoneXNA游戏开发的流程进行了详细的讲解,对其核心内容和开发技巧进行了深入的说明。...本书还针对WindowsPhone8的新特性以及如何将WindowsPhone7游戏向WindowsPhone8上迁移做了详细的说明。
windows phone 开发 在线教程
阅读本文前建议你有编程基础,并假设你已经从Microsoft App Hub网站上下载Windows Phone7开发工具。 我这里使用的是App Hub网站上下载的Microsoft Visual Studio 2010 Express等开发工具。 本文参考《How to: Create...
windows phone 7 code
windows phone7 开发书籍
WINDOWS PHONE 7 开发指南
在写“Windows Phone 7 开发31日谈”系列的首篇文章时,我们需要做一些假设。首先,我假设你懂一些Silverlight的知识。去年我写过一个Silverlight 31日谈的系列文章,所以我建议如果没接触过Silverlight你可以从那儿...
Windows Phone 7开发教程汇总 Windows Phone 7是微软重新打造windows mobile品牌之后推出的一款产品,从外观到软件代码都有了很大的改动。与此前的Windows Mobile系统相比,Windows Phone 7有着完全不同的屏幕主页和...
Windows Phone7完美开发征程 源代码
第一本全面介绍Windows Phone 7开发的中文图书! 中国移动开发者社区技术专家 倪浩/Magicboy/苏世耀 联合编 微软最有价值专家 张欣/姜泳涛/林永坚 联袂推荐 系统讲解+操作指导引领您快速入门 项目实例+实战演练帮助...
Windows Phone7 完美开发征程 PDF完整版 里面是我网盘的下载地址
一起学Windows Phone7开发课程,对Windows Phone7各个功能模块开发都有所讨论,是一个由入门到深入的系列课程,是一个面向开发者和对Windows Phone感兴趣人士的课程,通过这个系列课程的学习,可以使您对Windows ...
101 Windows Phone 7 Apps开发指南,该书结合大量当前流行Windows Phone 7应用,介绍Windows Phone 7应用开发以及设计方法。 该书适合Windows Phone 7开发人员参考学习。 全彩高清晰,非常好的书
windows phone 开发书籍及资料