打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Windows phone 7 之初体验

一.安装Windows phone 7 sdk


Windows phone 7终于发布了,其SDK也同时发布,SDK所依赖的环境要求比较高。也同时都是微软的新产品。如果要想安装布署上SDK的话,必须符合以下要求:

1.操作系统:win7或vista。我这里使用的是win7旗舰版

2.开发工具:visual studio2010

3.开发SDK:Microsoft Windows Phone Developer Tool Beta(目前只有英文版)

一.操作系统安装:

对于mobile的开发,一般都是在XP下的,所以我这里就需要安装双系统。对于用光盘安装双系统来说是很简单的,但是在没有win7光盘的情况下,安装win7还是需要一些方法的。在安装过程中win7也给我带来了一些惊喜。比如安装方便,速度快,没有那么多的设置需要手工干预等。

1.USB方式安装,对于主板支持USB启动的电脑来说,用移动硬盘或U盘都是很方便的,网上也有很多安装的方法。

2.硬盘安装,我的主板因为不支持USB启动,所以只好用这种方法了。我在网上找到了一种比较简单快捷的方法分享出来。

a.用虚拟光驱或解压缩win7的iso文件。把里面的所有文件拷出来。

b.下载HDD Installer.exe

c.启动hdd install.exe,选择模式一或二后,重启。

重启后,win7就可以自动安装了。(在安装包里有相关使用说明)

二.开发工具:
对于开发工具,如果只开发windows phone7的程序,那在SDK中已经包含(visual studio2010、Blend4、XNA),但是如果也要开发其他应用就需要下载正式版的visual studio 2010了.

三.开发SDK:

sdk 在微软网站上是有的,但只是一个下载工具,所以需要从网上下载,时间比较长。

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=c8496c2a-54d9-4b11-9491-a1bfaf32f2e3&displaylang=en

这些全部完成后,windows phone 7 sdk就算安装完了。


二.开发环境与模拟器

开发环境与模拟器

这就是windows phone7的开发环境visual studio2010,可以看到其UI用的是Xaml,而控制是C#语言.这个给我的感觉好像asp.net的开发环境.

这些截图是使用了解锁的ROM后的模拟器,如果不替换ROM的话,是没有这么多应用的,另外后续的学习也无法进行了。我用的ROM是WM70C1-6414-unlocked.BIN.


三.开发问答(转发)


微软近日在Windows Phone 7 Series的官方论坛上列出了一些Windows Phone 7 Series开发的常见问题的解答 ,其中我们以前一直不明确的一些问题(例如多任务,沙箱,网络等等)都有了解答。为了方便大家我将其一一翻译出来,希望能够对您带来一些帮助。当然,如果您愿意的话,去查看原文会获得更加准确的理解。

——————————————————————————–

前后台中的应用程序进程
我的程序能运行在后台吗?
不可以,Windows Phone 7 Series的应用程序模型只支持在前台执行。如果另外一个程序(第三方或者内置的)在你的程序正在运行的时候启动,你将会得到一个你的程序将要被终止的事件通知。
我的程序从前台离开时会发生什么?
你的应用将会收到一个它将被关闭的通知。你的应用从前台离开的时刻并没有被马上终止,如果你需要保留状态,你需要自己编写一些逻辑来处理这些事情。
当我的程序从前台离开后重新运行的时候会发生什么?
你的应用程序将会从最初始的状态开始运行。如果需要保留状态,你应该自己编写逻辑来判断状态是否被保留并恢复它。
这是否意味着没有办法来编写应用进行有效的后台更新?
不是!我们提供了可以让你的应用所利用的Push Notification服务。例如聊天程序,轮流操作的游戏以及其他类型的依赖外部事件的程序都可以完美的利用Push Notification。你可以从MSDN的这篇文章上了解更多关于Push Notification的信息: http://msdn.microsoft.com/en-us/library/ff402558%28VS.92%29.aspx 如果我的程序没有运行,我可以利用Push Notification来启动我的程序吗?
不能直接运行。当接收到一个对你的程序的Push Notification的时候,你的程序的令牌可以被更新至这新的信息,这时候用户将会被提示启动你的程序。程序并不会直接自动启动。
我可以设置一个定时器来启动我的程序吗?
不行,是否启动你的程序取决于用户。
我的程序可以被系统事件启动起来吗?
不太可能,但是它仍然是一个问题。绝大部分情况下,不可能由一个系统事件来启动起你的程序。但是当你的程序启动的时候或许你可以获得一个通知缓存。对于这个情况,当我们了解更多的时候我们会公布出来。 如果我不需要用户界面,我能编写一个服务的DLL驻留在系统中吗?
不行,你将不能编写系统服务DLL。所有的程序集都将运行在它们自己的独立的沙箱中,和操作系统以及其他应用程序隔离开。

应用程序的安装
我可以怎样向设备中安装应用程序?
应用程序将会在从MarketPlace中下载后自动安装。
我可以不使用MarketPlace而手工安装应用程序吗?
不行, 自行安装应用程序将是不允许的。唯一获得应用程序的途径是通过MarketPlace。
如果我不能按状态,我怎么测试我的应用程序?
作为一个注册了的开发者,你将会被允许注册一些设备用来直接部署你的应用程序用来测试。如果只是为了测试用不着把它部署到MarketPlace上面去。
我的应用只是为了我们的公司或者某些特殊的团体使用,我怎么通过MarketPlace将这些应用仅仅分发给他们?
目前MarketPlace并没有办法为私有应用程序锁定区域。当然也有针对移动运营商的例外情况。目前没有办法将你的程序针对特殊的团体或者设备做限制。.

设备连通性
我们仍然使用ActiveSyncIs来将设备连接到电脑吗?
不,同步时自动的就像将Zune HD连接到电脑上那样。
我应该如何通过Internet来传输数据?
HTTPGET或者WebServices之类的Web技术将被用来作为在Internet上通讯的方式。当你的程序没有运行的时候你还可以使用Push Notification来通讯。
我可以使用Socket来做点对点的通讯吗?
Windows Phone 7 Series目前并不直接支持Socket类。尽管手机上的Silverlight尽量靠近桌面版的Silverlight 3的特性列表,但是它只提供这些特性的一个子集所以并不包含所有的类(当然它也针对Silverlight 3做了一些扩展)。
我如何能够和其他的客户端实时的连接?
目前Windows Phone 7 Series的最初版本并不支持点对点的通讯。我们始终会评估开发人员和用户的需求,或许以后我们会决定将这个特性加上。

Hub/Pivot /Tab以及其他Silverlight中缺少的控件
我在那么多演示中所看到的”Hub”控件在哪里?
在MIX上的演示中你所看到的“Hub” 和 “Pivot” 控件我们还在持续完善,并不在当前的工具中所包含。
什么时候它们将会可用?
目前并没有针对这些控件的确切的时间表,,但是产品组将会密切关注开发者社区去了解开发人员需要什么样的有用的控件。如果你想要某个当前并没有的控件,请在论坛中留言。
我可以自己做一个吗?
当然你可以做自己的控件。但是你需要了解到Pivot / Hub控件是个非常重要的需求,机会是好的但是在以后这些或许会作为官方的工具的一部分发布。

设备存储
什么是”Isolated Storage”
“Isolated Storage” 涉及的是在设备的文件系统中,你的程序所占据的空间。你将无法访问这个空间以外的内容 (包括其他应用程序的空间或者操作系统的空间。) 这样做将会给你的程序提供一个自管理的安全的沙箱,并且预防其他程序不小心(或者恶意的)侵入你的应用程序空间。
在Windows Phone 7 Series的设备上有没有本地数据库可以利用?
没有,在最初的Windows Phone 7 Series上没有本地数据库API可以利用。
我应该如何为我的应用程序存储信息?
你可以将信息存储在自己的存储空间里。如果你需要大型的数据库这里有一些选择:Windows Phone 7 Seires 已经支持WebServices,它可以让你容易的访问存储在Internet上的信息。使用一个可以被WebServices访问的数据库,你的应用程序就可以在连接Internet的情况下实时的获取数据。
如何处理非连接的情景呢?
没有连接到Internet的话,你将无法访问云端服务的数据。这种情况下,建议你的程序通过多种方式来处理(在设备上缓存自定义格式的数据,提醒用户缺少连接)。
我的应用更加趋向于在非连接的场景下使用,如果我不能访问云端服务该怎么做?
针对这种场景有两种方案:
制定你自己的数据格式,将数据存储在设备的存储空间里。
继续开发针对Windows Phone 6.5或者之前版本的应用,那些版本可以支持本地数据库。
以后会支持本地数据库吗?
当前我们没有宣告这样的计划来增加这一功能;但是我们会密切关注开发人员和用户的需求并识别哪些特性会给每个人带来好处。

Native Code 的支持
我可以用c++来编写我的应用程序吗?
不行,当前C#是Windows Phone 7 Series平台上唯一支持的开发语言。
我可以用VB编写我的应用程序吗?
现在还不行,但是在以后的开发工具中我们会强烈考虑这一点的。
我可以用P/Invoke来调用系统API吗?
不行,作为ISV来说无法使用P/Invoke来访问系统API。任何试图使用P/Invoke的程序将会被从MarketPlace中退回。
我可以用P/Invoke来掉用我自己的native dll吗?
不行,native code不能作为你的应用程序的一部分来运行。P/Invoke是不允许的。

工具安装的问题
我的安装失败了
在将你的失败贴到论坛之前,请检查系统的事件日志或许能够提供一些线索。
我的安装结束了,但是我不能运行期Visual Studio 2010 Express for Windows Mobile. 我应该做什么?
这自然取决于你所遇到的错误。这里有一些基本的指导:
首先,检查发行说明. 确保你的系统符合要求并且不是这里已经列出来的问题。 (http://download.microsoft.com/download/D/9/2/D926FB38-BB43-4D87-AE5A-1A3391279FAC/ReleaseNotes.htm )
如果你遇到一个注册表或者文件的权限问题,试着以管理员权限运行应用程序。
如果你还没有重启,试着重启一下。对于某些人来说它将会清除掉很多问题。
我得到一个”The application cannot start” 的错误
请看这篇Blog的说明:http://blogs.msdn.com/visualstudio/archive/2009/10/29/how-to-fix-the-application-cannot-start-error.aspx

Silverlight, XNA, 和Compact Framework
手机上使用的什么版本的Silverlight?
手机上的Silverlight版本是一个很接近桌面上的Silverlight 3的子集。这里也有一些Silverlight 3上并没有的针对手机的特殊功能。但是许多在桌面版的Silverlight 3上正常运行的程序也能够在手机上正常运行。
我可以在Silverlight里面调用XNA的库吗?
Silverlight和XNA使用同一个Compact Framework上的基础代码。如果这个调用没有图形用户界面交互,多数情况下他们可以在Silverlight和XNA之间共享。

四.平台架构简介)

一.应用程序平台架构

分为两大部分:

1. Screen

在本地部分又分为两块:

a) Tool and Support:这里主要包括开发应用所需的工具和支持。

b) Runtimers:这里主要所开发的应用类型和支持的功能API。

1.Silverlight Framework:用于开发以下应用:

事件驱动的,以XAML为基础的应用;

快速创建网络应用;

使用windows phone7所带的控件;

开发多媒体应用。

2.XNA Framework:用于开发以下应用:

使用高性能的游戏框架开发游戏;

快速创建2D,3D游戏;

管理游戏构件:如mesh, models, textures, effects等等。

2. Cloud

主要又分为两大块:

a) Developer Portal Services:这部分主要用于开发者应用程序的注册、认证、发布、更新管理以及Marketplace的付费管理等。

b) Cloud Service:这部分主要用于开发者使用的云服务API,如maps, feeds, social,以及云计算(Azure)服务。

二.应用生命周期

下面这个图就是一个应用从开发到测试、发布的生命周期。

五.我的第一个应用程序

下面用这个例子就是我写的第一个程序了,看起来还不错哟。几乎没写代码,就可以出来动画效果,这在windows mobile上开发,是不可想像的。
一.创建应用程序
1.打开visual studio 2010 express for windows phone(这个是用来开发windows phone的)新建工程序中选择 visual C#->sliverlight for windows phone->windows phone application生成应用。

2.在开发界面时,一定要先规划,这很像html的开发,要先分割区域,然后在添加控件。

二.生成动画
1.基本界面规划好后,就可以来润色了。这里用到了一个微软用于sliverlight的工具express blend,这个工具集成在SDK中一起安装.这个工具很像flash MX,但看起来不像flash是给设计人员用的,而是给开发者使用的。这个工具和visual studio2010是无缝切换的,另外感觉比flash MX易上手(几年前用过的,只是对action script不太喜欢,不如C#)。这里用到了Timeline和Transfrom,color面板。

2. 动画搞定后保存,用visual studio 2010打开工程序,写几句控制代码(这里不超过6句代码)搞定!运行吧,一个动画效果的界面出来了。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Windows Phone 7支持.NET/Silverlight/XNA - CNET科...
Windows Phone 7开发资源地址大盘点(2) - 51CTO.COM
Windows Phone 7 系列应用和游戏开发内容汇总
Windows 8 Metro app开发初体验
TeeChart Pro .Net汉化教程二:TeeChart for Windows Phone 7示例
基于.NET/C#开发跨平台Windows Phone 7、iPhone及Android应...
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服