开发 Windows Phone 应用程序,如何将此类应用程序与云中的 Web 服务绑定。 您应该对 C# 和 Visual Studio 有一定的了解,如果您或多或少有一些使用可扩展应用程序标记语言 (XAML) 开发应用程序的经验(但并不作要求),将非常有帮助。 我使用的是 Windows Phone 工具的社区技术预览 (CTP) 四月升级版。 在您阅读本文时,内容可能已经发生了更改,因此,请访问developer.windowsphone.com,阅读最新的文档并下载最新的工具。 首先要做的是:获取一个应用程序 ID如果您要与 Translator 或任何 Bing Web 服务进行交互,第一步就是获取一个应用程序 ID。 应用程序 ID 由服务 API 用来验证来自已注册 Bing 应用程序开发人员的请求。 请访问 bing.com/developers/createapp.aspx,接着使用您的 Windows Live ID 登录。 然后填写表单,该表单会要求您提供应用程序的名称和说明,以及诸如您的公司名称和电子邮件地址之类的详细信息。 当这些 API 发生了更改(例如推出新版本或者旧版本脱机)时,就会使用您的电子邮件地址来通知您。 尤其对于 Translator API,在撰写本文档时已说明,旧版本将在新版本发布后持续服务 90 天。 接下来,请阅读使用条款,选中复选框以表示您接受这些条款,然后单击“接受”按钮。随即会进入一个页面,您新创建的应用程序 ID 就显示在该页面中。 您可以随时返回此页面进行查看,但我通常在首次创建应用程序 ID 时,会将它复制并粘贴到应用程序的源文件中。 对于您打算在应用程序中使用的任何 Web 服务,请务必阅读该服务的使用条款。 请静下心来仔细阅读,而不要一扫而过,尤其是当您打算通过 Marketplace 向用户分发您的应用程序时更是如此。 对于您的客户,您有责任了解由提供您的应用程序所使用服务的合作伙伴设定的服务水平目标和其他条件。 因此,无论您的应用程序是否使用了 Microsoft 或任何其他方提供的服务,都应确保您阅读并了解该服务的使用条款。 既然您已经有了应用程序 ID,我们就可以开始开发手机翻译应用程序了。 定义方案在开始创建我的第一个应用程序之前,我了解了一下市场上一些成功的移动应用程序。 我对一些用于 Windows 电话以及其他智能手机的应用程序进行了了解,想尝试搞清楚一款真正成功的移动应用程序的成功秘诀。 我阅读了许多产品评论, 采访过许多用户, 也打扰过许多朋友,让他们把自己的手机交给我体验。 做完所有这些调查之后,我得到的结论是:一款成功的移动应用程序的关键在于简便性。 每种流行的应用程序都实现了一种或两种主要的用户方案,并且都实现得非常完善。 例如,我发现了一整类应用程序,它们的唯一用途就是产生各种粗俗的噪音。 实际上,它们本来的功能就是在手机上重现呵斥声或肠胃胀气声。 用户似乎对这些很感兴趣,至少足以让他们付费在自己的手机上加载这些应用程序。 类似地,还有一些应用程序,它们可以模拟投掷骰子的游戏,推荐享用晚餐的餐馆,甚至可以为推荐的晚餐计算小费。 所有这些应用程序都有一种核心的用户方案,并以一种简便、直观的方法来执行该方案。 这种方法并非任何特定品牌的智能手机所专有。 developer.windowsphone.com/windows-phone-7 上发布的《Windows Phone UI 设计和交互指南》已经要求我们坚持打造优美、直观用户体验的设计理念。 因此,当我开始开发自己的翻译应用程序时,重点是要关注我真正希望该应用程序实现的功能,而不是其他方面。 为此,我首先需要对自己希望实现的功能有清晰的认识。 脑海中有了此认识之后,我就可以抵制诱惑,不会去添加炫酷新功能。这样的新功能虽然有趣,但对主要用户方案毫无用处。 我决定了,我的应用程序要实现的应该是英语和西班牙语之间的互译功能。 这款应用程序必须可以轻松地切换翻译模式(从西班牙语到英语或英语到西班牙语),而且只处理单个单词或简单的句子。 另外,由于我只关注西班牙语和英语,因此我的应用程序将忽略其他语言。 构建应用程序要开始构建翻译应用程序,请打开 Visual Studio Express 2010 for Windows Phone。 依次选择“New project…”(新建项目…)、“Windows Phone Application”(Windows Phone 应用程序)。此操作会打开默认的 Windows Phone 项目,并显示一个由以下两部分组成的屏幕:标题和内容。 这两部分用 XAML Grid 对象来表示,我们可以利用该对象定义一系列的行和列,然后在其中放置诸如按钮和 TextBlock 之类的子 UI 元素(请参见图 1)。
图 1 默认 Windows Phone 项目(包含“显示视图”和“代码视图”) 首先,在设计器中选中应用程序名称和页面标题,对这些 UI 元素进行编辑。 此操作会在设计器的代码视图窗口中突出显示相关的 XAML,向您展示需要编辑的元素。 接下来,打开工具箱,然后向页面上较低的网格(称为 ContentGrid)拖放一些 UI 元素。 选择一个 TextBox(用于输入要翻译的单词),然后选择一个 TextBlock(用于呈现翻译的内容)。 最后,添加两个按钮(请参见图 2)。
图 2 添加 TextBox、TextBlock 和 Button UI 元素 一个按钮用于执行翻译功能,另一个按钮用于从西班牙语到英语或相反方向切换翻译方向。 XAML:时尚 UIWindows Phone 7 用户体验的核心是名为“Metro”的设计系统代码,而根据 Metro 系统实现 UI 的核心就是 XAML。 如果您之前使用过 Silverlight 或 Windows Presentation Foundation (WPF),则您很可能熟悉 XAML。 如果您没有用过,则本部分将进行简要介绍。 XAML 是一种以声明形式构造 UI 的方法,可以使您将应用程序的逻辑与外观严格分离。 例如,您会注意到应用程序主页面的代码包含在 Mainpage.xaml.cs 中,而应用程序的基本布局的代码则包含在 Mainpage.xaml 中。 与传统的 Windows Forms 开发不同,这里的应用程序代码与应用程序的 UI 布局不存在任何混合。 应用程序中的每个 UI 元素都建模为 XAML 文件中的 XML 元素。 这样做的好处在于,它可以在一位设计人员处理应用程序的逻辑时,允许另一位设计人员独立地处理应用程序的外观。 例如,既然我们已经勾勒出翻译应用程序的基本 UI,就可以将 XAML 交由 UI 专家来处理,而我们则可以继续处理代码。 UI 设计人员不需要知道我的应用程序实现的任何内容,我也不需要知道他选择的调色板的任何情况。 当然,我也没有 UI 设计人员的任何预算,但我有 MSPaint,它足以演示更新我的应用程序配套的图形资源有多么容易。 给 Translator 打造一个全新的图标
双击创建项目时自动添加到项目的默认 ApplicationIcon.png。 此操作可打开我的图像编辑软件,即我的开发计算机上的 MSPaint。 将令人乏味的齿轮状图标替换为大写字母 T。 然后清除黑色背景,将背景填充为纯粉红色。 大家可能会不喜欢我的图形设计,但我喜欢(请参见图 3)。 |




