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 ...
随机推荐
- PHP下通过file_get_contents\curl的方法实现获取远程网页内容(别忘了还有PhpRPC)
[php]PHP中file_get_contents()与file_put_contents()函数细节详解 php函数file_get_contents(一) 案例: 早在2010年时候遇到过这样的 ...
- poj 4044 Score Sequence(暴力)
http://poj.org/problem?id=4044 大致题意:给出两个班级的成绩,先按降序排序,而且没有成绩同样的.然后求连续的最长公共子序列.输出时,先输出最长公共子序列,然后按个位数字递 ...
- activity的生命周期【转】
关于activity的生命周期,越来越感觉很重要.activity的生命周期有点像asp.net中page的生命周期,经历好几个过程.重写不同的阶段,可以完成不同的功能和效果.先上一张经典的生命周期图 ...
- Android 开发佳站【转】
Android控件拖动 这里演示控件拖动的动画: 原理就是响应控件的Touch事件,在Touch事件中对移动进行处理,注意,一定要在布局文件中设置控件的 android:clickable=& ...
- .Net MVC 入门之Razor语法
Razor语法 Razor是以后MVC项目中都需要用的, 所以在学MVC的基础的时候,我们的目标:要了解熟悉Razor页面的语法结构,做到灵活使用,so我们马上开始学习Razor,也请你们多评论和推荐 ...
- margin 属性的相关问题
1.margin 的IE6 双边距问题 问题描述:浮动的块挨边框的时候会产生双倍的边距 解决方案: 1.增加display:inline; 2.去除float属性 2.margin 的重叠问题 CSS ...
- jira使用
JIRA的生产者把JIRA定义为Professional Issue Tracker,即它是一个专业的问题跟踪管理的软件.这里的"问题"对应的英文单词是Issue,所以含义比较广, ...
- JavaWeb解释一下什么是 servlet?
Servlet是一种独立于平台和协议的服务端的java技术,可以生成动态WEB页面与传统的CGI(计算机图形接口)和其他类似的CGI技术相比.Servlet具有更好的可移植性.更强大的功能,更少的投资 ...
- Creating a Broker (创建代理)
1,CMD中运行 2,apollo的目录结构. bin 执行相关的脚步. etc 保存实例的配置文件 data 存储消息的文件 log 日志 tmp 临时的文件 3,Broker Configu ...
- monkeyrunner学习--手机按键
按下HOME键 device.press('KEYCODE_HOME','DOWN_AND_UP') 按下BACK键 device.press('KEYCODE_BACK','DOWN_AND_UP' ...