微软近日在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之间共享。
分享到:
相关推荐
Windowsphone开发初体验之(三)-参数传递 源代码
本书适合于Windows Phone 7开发入门的读者,也适合于从其他智能手机平台转向Windows Phone 7平台的读者,同时对于有Windows Phone 7开发经验的读者也极具参考价值。 本书系统论述了Windows Phone 7操作系统的应用...
Windows Phone7是微软重新打造windows mobile品牌之后推出的一款产品。
本书旨在分享强大的Microsoft编程工具(诸如Silverlight、XNA和Visual Studio 2010 Express Edition一类)的使用心得,介绍了如何使用现有的C#和.NET编程技能来开发一些Windows Phone 7应用程序。本书作者团队探讨了...
因此编写Silverlight for Windows Phone 7开发系列文章,从简单到深入的讲述Silverlight for Windows Phone 的开发。这个系列主要讲述一个网络收音机的开发过程,这一网络收音机程序涉及到Silverlight控件的使用,...
windows phone 7 code
第一本全面介绍Windows Phone 7开发的中文图书! 中国移动开发者社区技术专家 倪浩/Magicboy/苏世耀 联合编 微软最有价值专家 张欣/姜泳涛/林永坚 联袂推荐 系统讲解+操作指导引领您快速入门 项目实例+实战演练帮助...
[Packt Publishing] Windows Phone 8 游戏开发教程 (英文版) [Packt Publishing] Windows Phone 8 Game Development (E-Book) ☆ 图书概要:☆ A practical guide to creating games for the Windows Phone 8 ...
Windows Phone 7开发环境安装教程汇总,供学习参考。
内容提要: 本书对WindowsPhoneXNA游戏开发的流程进行了详细的讲解,对其核心内容和开发技巧进行了深入的说明。...本书还针对WindowsPhone8的新特性以及如何将WindowsPhone7游戏向WindowsPhone8上迁移做了详细的说明。
Windows Phone7完美开发征程 源代码
windows phone 开发 在线教程
Windows Phone(简称:WP)是微软发布的一款手机操作系统,它将微软旗下的Xbox Live游戏、Xbox Music音乐与独特的视频体验集成至手机中。微软公司于2010年10月11日晚上9点30分正式发布了智能手机操作系统Windows ...
Windows Phone 7介绍,移动互联网大会资料
Windows Phone Blog Menu是一个Silverlight导航控件,看起来像Windows Phone 7。 控件中的tiles链接到web站点在你的博客中使用这个控件可以表达你对WP7的喜爱。 Windows Phone Blog Menu is a Silverlight ...
Windows Phone7 完美开发征程 PDF完整版 里面是我网盘的下载地址
101 Windows Phone 7 Apps开发指南,该书结合大量当前流行Windows Phone 7应用,介绍Windows Phone 7应用开发以及设计方法。 该书适合Windows Phone 7开发人员参考学习。 全彩高清晰,非常好的书
这里介绍使用Silver Light开发第一个WindowsPhone7应用程序。 阅读本文前建议你有编程基础,并假设你已经从Microsoft App Hub网站上下载Windows Phone7开发工具。 我这里使用的是App Hub网站上下载的Microsoft ...
Windows Phone 7开发教程汇总 Windows Phone 7是微软重新打造windows mobile品牌之后推出的一款产品,从外观到软件代码都有了很大的改动。与此前的Windows Mobile系统相比,Windows Phone 7有着完全不同的屏幕主页和...
windows phone7手机开发实例,适于初学者。 调用天气api,实现天气预报