Windows Phone 8初学者开发—第11部分:设置SounBoard应用程序
原文 Windows Phone 8初学者开发—第11部分:设置SounBoard应用程序
原文地址:
系列地址:http://channel9.msdn.com/Series/Windows-Phone-8-Development-for-Absolute-Beginners
源代码: http://aka.ms/absbeginnerdevwp8
PDF版本: http://aka.ms/absbeginnerdevwp8pdf
编写PetSounds应用程序是掌握如何播放媒体的一个不错的方式,但是我们对该应用还有具有商业方面的想法,所以在本课中我们将思考如何开发一个更加健壮的PetSounds版本。它将是一个具有许多不同声音类别的声音面板应用程序,它甚至具备录制自己声音的能力。
因此本课的计划是:
- 我们将通过草图对应用程序的用户界面和用户交互进行描述。
- 我们将通过创建一个新的项目、复制素材到项目中并设置AppResources.resx来建立一个新的应用程序。这些都是以前学习过的内容,但却是对新项目需要执行的任务。
1. 在实体模型上绘制屏幕草图
因为我们正在设计第一个商业应用程序,因此我建议您花一些事件阅读以下内容:
Windows Phone 8 Design Process
https://dev.windowsphone.com/en-us/design/process
此外还有一个用于绘制草图的模板:
http://go.microsoft.com/fwlink/?LinkID=266572
这个模板不仅能够帮助您将想法写在纸上,而且可以记录应用程序与用户交互的思考过程以及向用户提供的反馈。我还可以使用
这个“低端的实体模型”与其他人交流设计和交互的想法,以便在我花时间开发应用程序前收集他们的反馈。这样做的目的是避免因自己做出过多的假设而出现重大
的缺陷。
因此,我使用这个模板记录下了SoundBoard应用程序的草图:

该设计很大程度上受透视应用程序(the Pivot App)项目模板的启发,应用程序中将包含一些枢轴项(PivotItem,或称为“视图”、“类型”),每个枢轴项又包含一些声音磁贴。当您点击某个磁贴时将会播放此声音。
我还希望能够录制声音。在主页面的底部有一个应用栏,点击它将会允许您录制声音。经过思考,我需要三个按钮,我的想法是
我们需要提供一些视觉反馈。我们可以轻松地创建一个类似于1960年代的盘式录音机的卷盘,并在录音时对卷盘增加动画效果。这将向用户提供很好的视觉反
馈。单击应用栏上的保存按钮将允许您为声音提供一个名称,它将以“我的”或“自定义”等类似的名称显示在枢轴项的标题上。
除了设计,获取项目的素材总是需要花些时间和精力。对于本项目,我们将提供声音和相应的图像。说实话,Clint与一位
声音方面的专才和一位图形方面的艺术家花了数小时才准备好这些素材。根据我的经验,创建富有创意的素材的努力从来都不应被低估。对于一个简单的应用程序它
的挑战甚至更大。如果您具有严肃的商业报复,那么您就需要寻找这方面的专家。您会浪费很多时间试图让您的图像和声音刚好说得过去,但是离专业标准还是相去
甚远。不管是网站或应用程序,我从不后悔聘请专业的设计师。他将使得我的产品看上去更加专业。
不管怎么样,通过提前计划并花些时间获得需要的素材,我们的已经勾勒出应用程序的雏形。让我们着手开发这个应用程序。
2. 创建基于Windows Phone透视表应用程序项目模板的SoundBoard项目
选择File | New | Project菜单将打开新项目对话框:

与我们在早先课程中的操作相同:
- 确认您位于Installed | Templates | Visual C# | Windows Phone
- 这次选择Windows Phone透视应用程序项目模板
- 将名称修改为SoundBoard
- 单击确定
3. 替换项目素材
在解决方案管理器中打开Assets文件夹并删除所有文件及子文件夹:

并确认删除。

解开您下载的Assets.zip文件,其中有一个称为SoundBoard_Assets的子文件夹,选择所有文件以及子文件夹:

并拖拽释放到解决方案管理器的SoundBoard项目的Assets文件夹中:

4. 确认项目图标被正确引用
在Properties文件夹中打开WMAppManifest.xml文件:

并确认应用程序图标、小图标和中图标被正确设置:

Windows Phone 8支持三种磁贴模板:翻转、图标和循环。此链接很好的解释了不同类型的磁贴模板:
在本应用程序中,我们的需求很简单。在本系列的后续课程中我们将使用循环模板并学习如何用编程的方式向模板提供一组图像
以循环对其进行显示。个人喜好?我喜欢任何类型的数据可视化,所以我喜欢那些使用图标模板的应用程序,这些模板可以在磁贴上显示的很多的可更新的信息。例
如,在我的手机上有一个天气应用程序,它对磁贴进行更新以显示温度、适度、风力和能见度。我还有一个应用程序可以在磁贴上显示剩余的电量,以及一个倒计时
应用程序用于计算离度假还剩几天。我曾经积极地在应用商店中寻找这样的应用程序,因为我觉得他们可以让我的开始页面变得很酷。
5. 配置主页面从AppResources.resx文件获取标题
虽然我不打算完全本地化我们的应用程序,但是我将对应用程序进行设置以便将来可以很容易地添加这个功能。
打开MainPage.xaml并定位到<phone:Pivot>元素的Title属性。将它修改为:
Title="{Binding Path=LocalizedResources.ApplicationTitle, Source={StaticResource LocalizedStrings}}"

现在我们将在AppResources.resx中修改应用程序的标题。它位于Resources文件夹。

将ApplicationTitle的值修改为"SoundBoard"。保存并关闭此文件。

回顾
综上所述,本课并没有多少新的内容,但是这些都是开始一个新项目时需要执行的任务。我们确实谈论了一些新的主题,比如注重应用程序的设计和交互以及从不同类型的可用模板中进行选择。
Windows Phone 8初学者开发—第11部分:设置SounBoard应用程序的更多相关文章
- Windows Phone 8初学者开发—第10部分:数据绑定应用程序和透视应用程序项目模板简介
原文 Windows Phone 8初学者开发—第10部分:数据绑定应用程序和透视应用程序项目模板简介 原文地址: http://channel9.msdn.com/Series/Windows-Ph ...
- Windows Phone 8初学者开发—第7部分:本地化应用程序
原文 Windows Phone 8初学者开发—第7部分:本地化应用程序 第7部分:本地化应用程序 原文地址: http://channel9.msdn.com/Series/Windows-Phon ...
- Windows Phone 8初学者开发—第16部分:使用应用程序栏
原文 Windows Phone 8初学者开发—第16部分:使用应用程序栏 原文地址: http://channel9.msdn.com/Series/Windows-Phone-8-Develop ...
- Windows Phone 8初学者开发—第12部分:改进视图模型和示例数据
原文 Windows Phone 8初学者开发—第12部分:改进视图模型和示例数据 第12部分:改进视图模型和示例数据 原文地址:http://channel9.msdn.com/Series/Win ...
- Windows Phone 8初学者开发—第1部分:系列介绍
原文 Windows Phone 8初学者开发—第1部分:系列介绍 您好,欢迎来到这个包含35课为Window Phone 8平台创建应用程序的系列教程.我叫Bob Tabor,在过去的11年中我一直 ...
- Windows Phone 8初学者开发—第14部分:在运行时绑定到真实的数据
原文 Windows Phone 8初学者开发—第14部分:在运行时绑定到真实的数据 第14部分:在运行时绑定到真实的数据 原文地址: http://channel9.msdn.com/Series/ ...
- Windows Phone 8初学者开发—第13部分:设置LongListSelector中磁贴的样式
原文 Windows Phone 8初学者开发—第13部分:设置LongListSelector中磁贴的样式 第13部分:设置LongListSelector中磁贴的样式 原文地址: http://c ...
- Windows Phone 8初学者开发—第9部分:Windows Phone 8模拟器概述
原文 Windows Phone 8初学者开发—第9部分:Windows Phone 8模拟器概述 第9部分:Windows Phone 8模拟器概述 原文地址: http://channel9.ms ...
- Windows Phone 8初学者开发—第8部分:理解编译和部署
原文 Windows Phone 8初学者开发—第8部分:理解编译和部署 第8部分:理解编译和部署 原文地址: http://channel9.msdn.com/Series/Windows-Phon ...
随机推荐
- java 获取随机数的三种方法
方法1(数据类型)(最小值+Math.random()*(最大值-最小值+1))例:(int)(1+Math.random()*(10-1+1))从1到10的int型随数 方法2获得随机数for (i ...
- sql的强大功能(看一条sql解决的复杂业务)
一条sql语句解决的复杂业务,请往下看: 业务介绍:一个单位有多个立项(立项信息表里有单位id),每个立项可能被预警多次(预警信息表里的uuid字段的值里包含有立项id或单位id),每 ...
- java 动态获取web应用的部署路径
public static String DEPLOY_PATH = null; static { String CurrentClassFilePath = Constant.class.getRe ...
- EBS OAF 开发中的OAMessageRadioGroup控件
EBS OAF 开发中的OAMessageRadioGroup控件 (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处:否则请与本人联系,违者必究) 简单介绍 RadioGro ...
- 原生javascript实现老.虎机抽奖点名demo源码思路解析
想着使用原生Javascript做一个随机点名的小应用, 也可以做抽奖使用. html简单化,人名单可以通过js生成并处理. 可以非常随意的添加修改人名字. 应用想带点特效,比如老.虎机转动的特效. ...
- js页面跳转 和 js打开新窗口 方法
js页面跳转 和 js打开新窗口 方法 第一种: 第二种: 第三种: 第四种: 第五种: 1.在原来的窗体中直接跳转用 window.location.href="你所要跳转的页面" ...
- 几个linux 下C/C++集成开发环境推荐
链接地址:http://www.lupaworld.com/article-210675-1.html 摘要: 一.AnjutaAnjuta是一个多语言的IDE,它最大的特色是灵活,同时打开多个文件, ...
- javascript模块化编程(转载)
Javascript 模块化编程 作者: 阮一峰 发布时间: 2013-01-08 18:04 阅读: 7632 次 推荐: 40 原文链接 [收藏] 随着网站逐渐变成"互 ...
- 微信开发_微信教程__微信通讯框架V1.0
做个广告先, PHP千人群(6848027) C++群 (1414577) 看雪汇编&反汇编群(15375777) 看雪汇编&反汇编2群(4915800) 转载不一定注明出处,只要推荐 ...
- IOS 定位服务与地图的应用开发
1.定位服务 现在的移动设备很多都提供定位服务,IOS设备提供3种不同定位途径: (1)WiFi定位,通过查询一个WiFi路由器的地理位置的信息,比较省电:IPhone,IPod touch和IPad ...