`
harryjudy2240
  • 浏览: 10790 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

做Windows Phone 7开发前你要清楚的事

 
阅读更多

今年春天在拉斯维加斯的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平台上进行应用程序开发看起来是一件令人兴奋的事。因为现在你可以使用你现有的技能和工具,但你也可以得到创新,而且从你的应用程序开发中赚到一些钱。微软已经提供了一个环境,从编码到使您的应用程序可以销售,而且可以跟踪你的应用程序被用户使用的情况,而且还提供更新。

分享到:
评论

相关推荐

    iPhone開發環境配置

    然而,对于Windows用户来说,在本机上搭建一个完整的iPhone开发环境并非易事。本文将详细介绍如何在Windows系统上通过虚拟机技术构建一个稳定的iPhone开发环境,以便进行iOS应用开发。 #### 背景与挑战 传统的...

    新版Android开发教程.rar

    � 源代码完全开放,便于开发人员更清楚的把握实现细节,便于提高开发人员的技术水平,有利于开发 出 更具差异性的应用。 � 采用了对有限内存、电池和 CPU 优化过的虚拟机 Dalvik , Android 的运行速度比想象的要...

    不懂程序代码也可以轻松制作App,App在线制作工具软件网.doc

    追信魔盒完全免费的手机软件快速制作平台,用户无需任何技术基础就可轻松制作一款属于自己的手机软件,并且一次生成 android、iphone、windows phone7、symbian、黑莓等 18 个主流手机操作系统。 六、简网 APP 工场...

    CMDN CLUB#16期:关于PhoneGap的12件事

    这意味着开发者可以编写一次代码,然后将它部署到多个不同的移动操作系统上,如iOS、Android、Windows Phone等。 #### 二、PhoneGap的功能 - **访问移动设备本地特性**:通过PhoneGap,开发者能够利用原生API来...

    Dr. Dobb's Digest 2010/11

    - 介绍了如何使用 Silverlight 为 Windows Phone 7 开发用户界面。 - 提供了一系列实用技巧与最佳实践,帮助开发者构建美观且功能强大的应用程序。 #### 专栏(Columns) - **文章一:** Q&A: DSL Has Its Risks,...

    手机WAP网站开发百科全书

    ### 手机WAP网站开发百科全书 #### 关于WAP的基础知识 **WAP(Wireless Application Protocol)**是一种通信协议标准,用于通过移动网络传输数据,从而使得移动设备能够访问和显示互联网内容。它最初是为了克服...

    爱方格手机助手 v2.3.1

    爱方格手机助手是一款专业的Windows Phone 手机工具 功能介绍 1、手机资源管理 手机上的图片、音乐、视频等资源全管理,无需越狱,一代机和二代机通吃。 2、应用下载和管理 自带应用商城,海量应用一键下载安装...

    爱方格手机助手 v2.3.1.zip

    爱方格手机助手是一款专业的Windows Phone 手机工具 功能介绍 1、手机资源管理 手机上的图片、音乐、视频等资源全管理,无需越狱,一代机和二代机通吃。 2、应用下载和管理 自带应用商城,海量应用一键下载安装...

    cordova-network-status:通知Cordova应用程序中的网络连接状态更改

    封装了标准的Cordova网络连接状态功能,WinJS / Windows Phone的替代功能以及完成同一件事的不兼容API。 地位 这个项目仅仅是一个演示,并且是一个正在进行的工作。 如果有什么有效的方法,或者甚至是完整的方法,...

    Android程序设计基础

     虽然大多数作者都希望读者阅读他们书中的每一句话,但我知道你可能不想这样做。你只希望阅读能够解决手头问题的部分,而在需要解决其他问题时,再回过头来阅读另外一些内容。因此,我在书中特意注明在哪里可以找到...

    HTML 5与flash决战.docx

    Flash以其跨平台兼容性著称,无论是Linux、Windows还是Android设备,都能良好运行Flash内容。这得益于广泛使用的Flash Player插件。此外,Flash具有丰富的功能,如多文件上传、复杂的动画效果等,使得它成为许多网站...

    嵌入式应用程序中的验尸C ++异常分析

    rp=%2FKB%2Fwindows-phone-7%2FCallStackTest%2Fcallstacktest_src.zip&download=true" 看起来是一个链接,可能指向一个具体的案例研究或示例源代码,用于说明在Windows Phone 7平台上如何分析调用堆栈以识别异常。...

    C#中如何通过RIL获得基站信息

    在Android系统中,RIL是一个关键组件,而在Windows Phone或UWP应用中,RIL的相关操作通常由操作系统内部处理,对外部开发者不完全开放。 在C#环境下,由于.NET框架本身并不直接支持RIL操作,我们需要寻找其他途径。...

    SPB 反编译

    SPB,全称Smart Phone Builder,是早期智能手机时代一个流行的操作系统界面设计工具,主要用于Windows Mobile平台。它能够帮助开发者定制和美化手机的用户界面,提供丰富的动画效果和自定义组件。SPB界面通常包含多...

    智能家居产品推广策略分析.docx

    然而,推广这些产品并非易事,需要深入理解市场动态、用户需求及竞争格局,制定出有针对性的策略。 1. 智能产品: - 主流智能设备:包括但不限于家电(如智能冰箱、洗衣机)、灯光系统(如智能照明)、音响系统...

    如何打破苹果谷歌在移动OS市场的垄断?

    以Windows Phone为例,尽管微软不断努力,但市场反应平淡,部分制造商如LG和三星表示对其市场需求缺乏信心,且过去的一些合作伙伴如索尼、戴尔和HTC也表达了不满。此外,对于新操作系统来说,能否获得手机制造商的...

    entrepreneurship:创业总结报告

    以科技巨头Apple为例,其创始人史蒂夫·乔布斯凭借独特的创新精神和对完美的追求,引领公司开发出iPhone、iPad等一系列颠覆性的产品,改变了全球科技行业格局。他的成功,离不开他对市场的深刻理解、对团队的精心...

Global site tag (gtag.js) - Google Analytics