移动终端应用程序设计方法研究.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
移动终端应用程序设计方法研究
作者:王倩萍指导教师:程树林
摘要:目前,移动终端设备在我们的日常生活中越来越普及,这主要是基于它的方便和易操作性。能基于不同的操作平台,开发出不同的应用,是本文的主要内容。本文主要以Android作为出发点,以此为例,探究如何在此操作平台上对应用的开发研究,在搭建了Android开发环境后,用一些语言在上面进行程序的编写,运行,以达到移动应用的最终生成;本文将以一个播放器的生成展开讨论研究。
关键词:Android,移动应用开发,系统架构,播放器
0 引言
人类对于自由和交流的渴望是无止境的,技术的发展使得人类对自由的梦想逐渐变为现实,让移动终端从最初的BP机,到现在的PDA,智能手机。就像一台戏总需要一个舞台,通过舞台的完美配合以及自身的演绎才能达到完成的效果。我们想要开发一个应用程序总需要一个编辑它的工具,以及一个能让它完美运行的环境,只有外部条件达到,才能在这个环境下开发我们想要的应用程序,才能让我们应用程序有地运作。那么目前我们的移动终端有很多种,最火的莫过于苹果和三星旗下的手机,平板电脑之类。它们分别的运行系统是ios、android。能在大众之间普遍流行起来最主要的原因就是它傻瓜似的操作能达到我们想要的结果。Ios系统是由苹果公司为iPhone开发的操作系统。它是给iPhone,iPodtouch和iPad使用。但ios仅限于苹果产品的使用,其它开发移动产品的用户是不能使用它的,这时google开发的android系统就分得不少的市场。而在这之前一直属于手机市场老大的Nokia 却由于它的局限性似乎越来越退出大众视线。Nokia大部分手机均是使用Symbian系统,但由于其发展受到局限性,没有android的可开发深度性高。因此Android以其简单易操作和可扩展性深受大众青睐。在这样的环境下,人们可以开发自己想要的其它应用程序,放在移动终端上应用。
当我们搭建了一个完美的运行环境时,我们仍需舞台上的主角,应用程序的开发。移动应用程序的开发工具有许多种,其中比较常用的有AppMaker,MobileNation,Bizness app等等,都有它们适用的操作系统平台和应用程序的开发方法,像Bizness app就是一个纯傻瓜似的构建app的平台。用户完全不需要具备任何编程知识,只要进行按钮勾选及拖拽,就能完成大部分设计工作。本文就以在安装了eclipse 的环境下,用java语言编写移动应用程序,最后编译,运行,以达到目的。
本文就以在Android环境下开发一个播放器为例来具体说明是如何在移动终端上应用程序的设计。
1 Android简介
Android是Google在2007年发布的一款全新的智能手机终端操作系统和移动应用开发平台,它基于Linux内核,由操作系统、中间件、用户界面和应用软件组成,是一个开放而完整的移动“软件栈”。因此,自发布以来Android立刻受到了业界的广泛关注,并很快成为主流。为了提供更加完善的功能和方便开发人员,Google对Android平台的SDK更新很快,目前已发布3.0版本,开发人员可以利用SDK 中所提供的工具,为基于Android操作系统的手机进行移动应用开发。本文将详细阐述Android平台的组成、系统架构、API、应用程序框架以及该平台下应用程序的基本开发方法[1]。
本项目是一款基于Android手机平台网络播放器,使Android手机拥有个性的播放器,让手机主人
随时随地处于音乐和视屏的中快乐之中。使人们的生活更加多样化。也使设计者更加熟练Android的技术和其它在市场上的特点。
2 Android平台的组成和系统架构
2.1 Android平台的组成
Android不仅是一种用于移动终端设备的操作系统,更是一个开源的体系架构。它大量应用了开源社区的各项成果,并针对移动设备进行了充分优化。Android主要包含以下功能组件[2]:
1)经Google针对移动设备裁剪和优化的Linux内核。
2)由Google重新实现的Java虚拟机Dalvikvm 。
3)大量的函数库和服务,如浏览器引擎WebKit,数据库SQLite。
4)常用的应用程序,如拨号程序和通讯录等。
5)一套完整的SDK(Software DevelopmentKit),提供了使用Java语言进行Android应用开发的API类库和工具集(包括Android模拟器和Eclipse IDE下的开发工具插件以及一组用于在模拟器和终端设备上打包、安装、调试和测试应用程序的工具)。
6)经过优化的轻量级2D和3D图形引擎,用于支持各种游戏的开发。
7)提供常见音频、视频和图片格式支持的底层多媒体库。
8)用于支持GSM、蓝牙、3G、WiFi、摄像头、GPS和各种输入设备的驱动程序。
2.2 Android的系统架构
Android操作系统自顶向下分为4层,分别为应用层、应用框架层、函数库和虚拟机层以及Linux内核层。其架构如图1所示。
图1 Android Architecture(android 软件结构图)
其软件层次结构自上而下分为以下几个层次:
第一层:应用程序(Application)。
第二层:应用程序框架(Application Framework)。
第三层:各种库(Libraries)和Android运行环境(RunTime)。
第四层:操作系统层。
1)应用层(Application)
应用层提供了一系列核心应用程序,包括邮件客户端、SMS(短信)、H历、Google地图、Web浏览器(Brower)和通讯录(Contacts)等。这一层所有(包括开发人员自己开发的)应用程序都是使用Java语言编写的。值得一提的是,这些应用程序可以同时执行,比如用户可以一边听音乐一边阅读邮件。
2)应用框架层(Application Framework)
开发者完全可以访问核心应用程序所使用的API框架。该应用程序架构用来简化组件软件的重用;任何一个应用程序都可以发布它的功能块并且任何其他的应用程序都可以使用其所发布的功能块(不过的遵循框架的安全性限制)。该应用程序重用机制使得组件可以被用户替换。
所有的应用程序都由一系列的服务和系统组成,包括:
▲可扩展的视图(Views)可以用来建应用程序,包括列表(lists),网格(Grids),文本框(Text boxes),按钮(button),甚至包括另一个可嵌入的 web浏览器。
▲内容管理器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人的数据库),或者共享它们自己的数据。
▲资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串,图形,和分层文件(Layout Files)。
▲通知管理器(Notification Manager)使得应用程序生可以在状态栏中显示客户通知信息。
▲活动类管理器(Activity Manager)用来管理应用程序生命周期并提供常用的导航回退功能。
3)函数库层(Libraries)
Android包括一个被Android系统中各种不同组件所使用的C/C++库集。该库通过Android应用程序框架为开发者提供服务。
4)运行时环境(Runtime)
Android包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。
每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik 是针对于同时高效地运行多个VMS来实现的。Dalvik虚拟机执行.dex的Dalvik可执行文件,该格式文件针对最小内存使用做了优化。该虚拟机是基于寄存器的,所有的类都经由JAVA汇编器编译,然后通过SDK中的dx工具转化成.dex格式由虚拟机执行。
Dalvik虚拟机依赖于linux的一些功能,比如线程机制和底层内存管理机制。
5)Linux内核层(Linux Kerne1)
Android基于Linux 2.6内核来提供操作系统的核心服务,如进程管理、内存管理、安全性、网络协议和驱动模型。内核也作为硬件和其余软件栈之间的一个抽象层。