序的开发而设计的,它可以允许开发人员访问核心应用程序所使用的API框架[5]。该应用程序的架构设计简化了组件的重用;50任何一个应用程序都可以发布它的功能块,并且任何其它的应用程序都可以使用其所发布的功能块(需要遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。第三层——Libraries(类库)和AndroidRuntime(Android运行时组件)这一层分为两个部分,分别为类库和Android运行时组件。55第一部分:类库Android提供包含一些C/C++库,这些库能被Android系统中不同的组件使用。开发者可以通过Android应用程序框架使用这些类库的功能[6]。第二部分:Android运行时组件虽然Android是用Java语言来开发、撰写应用程序,但却不使用标准Java运行时组件60来执行Java程序,而是使用了由Google自行研发的Android运行时组件来执行程序。Android运行时组件包括两个部分,一个是核心类库,另一个是Dalvik虚拟机。第四层——LinuxKernel这一层是系统内核层,Android的内核采用Linux2.6内核,它主要用于保障进程管理、网络协议栈、安全性、内存管理和和驱动模型等等。同时Linux内核也作为硬件和软件之间65的抽象层,是硬件和软件沟通的桥梁。
2录音机需求分析
录音机软件除了完成录音的功能外,还有播放录音文件的功能,另外作为通讯工具,录音机还应该支持分享功能。在手机这种对系统资源和实时性要求比较严格的设备上使用,需要严格考虑外界和边界条件,比如需要处理来电,处理存储卡容量不足等情况。另外界面也70需要尽量做到简洁大方,以方便使用,达到最佳用户体验。
2.1
录音机用例分析
通过分析市场上录音机软件的功能,分析出录音机的用例图如图1所示。
-2-
中国科技论文在线
paper.edu
75
图1录音机软件主要用例图Fig.1VoiceRecorderUseCaseChart
2.2
用户界面需求
a)用户界面尽量简洁明了,视觉效果佳;b)软件由一个主界面承载,在主界面上进行各种操作;
80
c)每个界面都要有返回按钮;d)对话框的色彩风格需和主界面一致;e)错误信息显示需要有统一的标准;f)软件必须考虑不同分辨率的手机的,尽量使用相对布局进行界面开发。
2.3
85
运行环境需求
OMS1.6、Android2.1以上平台。
3录音机软件设计
3.1软件总体架构
软件整体架构基于MVC模式,采用分层的模块化结构。具体分为表示层,控制层,业务层和数据交互层,正好对应MVC的View、Controller和Model。软件总体架构如图2所90示。
-3-
中国科技论文在线
paper.edu
图2录音机软件架构图Fig.2SoftwareArchitectureChart
95
下面对各个层次进行简要的介绍:View向用户展示模型的状态以及控制信息,在本软件中是以每个Activity的对应的页面、对话框和一些显示控件所展现,一般以layout文件夹下的布局文件承载。Controller作为控制器,负责View和Model之间的流程控制,一方面,将用户界面(View)的操作映射到具体的模型(Model)上,完成具体的业务逻辑;另一方面,将模型(Model)处理
100
完的业务数据反映到用户界面(View)上。在Android平台上主要是靠系统管理器监听事件、Activity跳转和读取AndroidManifest.
xml的配置信息所达到。Model是业务处理和数据交互模块,封装了核心的业务功能和数据。这里主要靠Activity来承载,Activity负责业务逻辑、数据交互的处理,并且把结果显示在表示层的页面上,需要写入数据库或者SDcard的操作就和数据交互层交互,分享录音也是通过数据交互层和外
105
界交互。采用MVC模式架构进行设计,可以对整个程序代码进行分层,不仅使程序结构更加清晰,代码更加健壮,而且降低了程序之间的耦合度,提高了模块化程度,职责更加明确。本软件