微软近日在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之间共享。
分享到:
相关推荐
通过阅读《Windows Phone7开发教程汇总.pdf》这样的资料,开发者可以深入学习到上述概念和技术,逐步掌握WP7应用开发的各个环节,从而创建出符合用户需求的高质量应用。虽然Windows Phone 7已不再是最新的操作系统,...
本书适合于Windows Phone 7开发入门的读者,也适合于从其他智能手机平台转向Windows Phone 7平台的读者,同时对于有Windows Phone 7开发经验的读者也极具参考价值。 本书系统论述了Windows Phone 7操作系统的应用...
在进入Windows Phone 7开发的世界之前,首先需要搭建一个完整的开发环境。这个过程涉及到多个步骤,包括安装必要的软件、配置工具以及设置开发者账户。以下是一个详细的Windows Phone 7开发环境安装教程汇总,旨在...
### Windows Phone 7 开发详解 #### 一、Windows Phone 7 概述 Windows Phone 7 是微软推出的一款智能手机操作系统,它标志着微软在移动操作系统领域的一个重要转变。与之前的 Windows Mobile 相比,Windows Phone...
【标题】"Windows Phone7完美开发征程完整pdf" 涉及的知识点: Windows Phone 7(WP7)是微软公司推出的一款智能手机操作系统,主要针对移动设备应用开发。该平台为开发者提供了丰富的功能和工具,使得创建高效、...
这个“Windows Phone7完美开发征程 源代码”集合,涵盖了从基础的UI设计、数据管理到复杂的硬件交互和性能优化的全方位示例。通过学习和研究这些源码,开发者能够更好地掌握WP7开发技术,创作出符合用户需求、体验...
**Silverlight for Windows Phone 7** 是微软推出的一款专门针对Windows Phone 7移动操作系统的开发技术,它基于Silverlight框架,允许开发者利用丰富的图形、动画和互动功能来创建高质量的移动应用程序。在Windows ...
3. **Silverlight**:Windows Phone 7时代的开发主要基于Silverlight,它是一种用于创建富媒体和交互式用户体验的技术,类似Adobe Flash,但专为Windows Phone设计。 4. **XAML**:XAML是用于定义用户界面的标记...
Windows Phone 7(WP7)是由微软开发的一款智能手机操作系统,主要针对移动设备市场。这款操作系统在2010年发布,旨在与当时的Android和iOS竞争。Windows Phone 7以其独特的“动态磁贴”界面和深度集成的Microsoft...
Windows Phone 7是一款由微软开发的操作系统,专为智能手机设计,它在2010年首次发布,旨在与当时的市场领导者如iOS和Android竞争。Windows Phone 7引入了一种全新的用户界面,以其独特的动态磁贴(Live Tiles)设计...
1. **Windows Phone 7 系统概述**:Windows Phone 7是由微软开发的移动操作系统,首次发布于2010年,旨在为用户提供一个独特的、以“动态磁贴”为主的用户界面。该系统提供了多种内置功能,包括各种应用程序、多媒体...
在进入Windows Phone 7开发的世界之前,首先需要搭建一个合适的开发环境。Windows Phone 7作为一个由微软推出的全新智能设备平台,吸引着越来越多的开发者投身其中。这篇文章将详细讲解如何搭建Windows Phone 7的...
开发 Windows Phone 7 应用程序时,需要注意遵循微软的开发指南和设计原则,确保应用与系统的整体风格保持一致,提供优秀的用户体验。此外,利用 Microsoft Marketplace 可以发布和分发应用程序,让全球的 Windows ...
通过这本书,开发者不仅可以学习到开发Windows Phone 7应用的技巧,还能了解如何设计出符合WP7用户体验标准的应用。随着Windows Phone系统的不断迭代,虽然现在的版本可能已经升级到了Windows 10 Mobile,但这些基础...
- **发展历程**:从最初的Windows Phone 7到后来的Windows Phone 8,以及最后的Windows 10 Mobile,每个版本都在不断改进和完善。 - **特点介绍**: - **统一设计语言**:“Metro”设计语言使得Windows Phone具有...
《Programming Windows Phone 7 Series》是一本专注于微软Windows Phone 7平台开发的权威指南,它为开发者提供了详尽的指导,帮助他们充分利用这一移动操作系统的特点和功能。这本书共计24章,涵盖了从基础到高级的...