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 ...
随机推荐
- sql的强大功能(看一条sql解决的复杂业务)
一条sql语句解决的复杂业务,请往下看: 业务介绍:一个单位有多个立项(立项信息表里有单位id),每个立项可能被预警多次(预警信息表里的uuid字段的值里包含有立项id或单位id),每 ...
- Java程序猿的JavaScript学习笔记(8——jQuery选择器)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
- 配置vim之插件
涉及linux平台下ctags, taglist插件 ctags是一个用于产生代码索引文件的插件,它产生的索引可以帮助我们更快的定位到特定位置. ctags支持很多语言,比如java, c, c++, ...
- SharePoint2010添加webpart找不到内容编辑器
1.开启相关网站集功能.2.若还是找不到可以在其它有内容编辑器的站点下,在“Web 部件”中找到并下载内容编辑器,上传至本站点即可.
- window.parent与window.opener的区别与使用
window.parent 是iframe页面调用父页面对象 举例: a.html 如果我们需要在b.html中要对a.html中的username文本框赋值(就如很多上传功能,上传功能页在ifrma ...
- 寻找数列中第k大的数算法分析
问题描述:给定一系列数{a1,a2,...,an},这些数无序的,现在求第k大的数. 看到这个问题,首先想到的是先排序,然后直接输出第k大的数,于是得到啦基于排序的算法 算法一: #include&l ...
- 【整理】Object-C中的属性(Property)的Setter:assign,copy,retain,weak,strong之间的区别和联系
iOS编程过程中,经常看到一些属性前面有些修饰符,比如copy,retain等. 这些关键字,是Object-C语言中,对于Property的setter. Mac官网: The Objective- ...
- js正则语法
整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$只能输入数字:"^[0-9]*$".只能输入n位的数字:"^\d{n}$".只能输入至少n位的数 ...
- MyEclipse 在loading workbench 启动卡死
解决方法: 找到Workspace目录,在.metadata(Mac 下是在 .metadata/.plugins)中删掉以下两个文件 org.eclipse.ui.workbench org.ecl ...
- java 类排序
参考文档:Java排序: Comparator vs Comparable 入门 java类经常面临排序问题,据我所知:java提供comparable和comparator两种比较方式: 1. co ...