毕业设计-找毕设网--最真实的毕业设计交流论坛

 找回密码
 立即注册
查看: 3349|回复: 0

基于Android平台下的酒店住房管理系统 源码+论文

[复制链接]

670

主题

1024

帖子

3318

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3318

活跃会员

发表于 2015-12-25 22:08:21 | 显示全部楼层 |阅读模式
1绪论1.1研究背景
随着时代的发展,人们对于信息的获取有着强烈的需求。智能手机作为一种非常重要的通讯工具,功能越来越强大,智能手机凭借其可以随时随地地获取和处理信息的优势,逐渐成为人们获取信息的一种重要手段,所以研究Android平台应用软件的开发很有必要,并且以Android录音软件的设计和实现更能在某些方面上满足现代人的一些需求。
发展状况:Android操作系统最初由Andy Rubin开发,最初主要支持手机。2005年由Google收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。Android的主要竞争对手是苹果公司的iOS以及RIMBlackberry OS2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 201111月数据,Android占据全球智能手机操作系统市场52.5%的份额,中国市场占有率为58%
智能手机(Smartphone),是指“像个人电脑一样,具有独立的操作系统,可以由用户自行安装软件、游戏等第三方服务商提供的程序,通过此类程序来不断对手机的功能进行扩充,并可以通过移动通讯网络来实现无线网络接入的这样一类手机的总称”。目前,全球多数手机厂商都有智能手机产品,而芬兰诺基亚、美国苹果、加拿大RIM(黑莓)、美国摩托罗拉、中国台湾宏达(htc)都是智能机中的佼佼者[1]。
智能手机具有五大特点:1.具备了无线接入互联网的能力,即要有GSM的支持网络下的GPRS或者是CDMA网络支持下的CDMA 1X或3G网络。2.人性化,可以根据个人需要扩展机器的功能。3.它是具有开放性的操作系统,还可以安装非常多的应用程序,使得智能手机的功能可以得到无限的扩展。4.具有PDA功能,其中包括个人信息管理、日程记事、任务安排、多媒体应用、浏览网页等。5.扩展性能强,第三方软件支持多[2]。
Android是一种以Linux为基础的开放源码操作系统,主要使用于便携设备。目前尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,最初主要支持手机。2005年由Google收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。Android的主要竞争对手是苹果公司的iOS以及RIM的Blackberry OS。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2012年2月数据,Android占据全球智能手机操作系统市场52.5%的份额,中国市场占有率为68.4%[3]。
在这个信息化的时代,手机已成为继固话之后最为通俗的交流工具[4]。在这个人与人关系愈加密切的时代,“通讯”成了生活中的必需品。这就有这么一个系统记录下人与人之间的多样联系方式——手机通讯系统。目前国内的酒店住房管理应用服务商分为三类,第一类如幸会、名片全能王、QR扫描等等,这些产品主要是为了解决名片交换时候输入难度较高的问题。而这也就致使了这部分厂家缺少了一个服务商最看重的东西:对用户没有持续的运营能力;第二类如火种、QQ酒店住房管理、友录、手机自带的酒店住房管理同步服务等等,这部分的市场主要提供了号码备份服务,帮助用户解决手机号码记录联系人的问题。第三类就是针对与酒店住房管理之上提供的拓展应用服务提供商,比如:米聊和微信,你可以通过上面去发短信,实现多种通信能力的聚合[5]。
1.2研究现状
当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同种类。Android是一个基于Linux 核心(kernel)的开放手机平台作业系统,与Windows Mobile、Symbian等手机作业系统处在同一级别,其中占有开放源代码优势的Android系统有最大的发展前景。较之Symbian用户体验较差,系统较为封闭,支持的应用较少和Windows Mobile系统对终端厂商来讲引入成本较为昂贵,娱乐性平平。Android系统则拥有低廉的引入成本,在应用方面的资源丰富,以及良好的用户体验开放性较强的特点,适应了移动互联网的发展趋势,切合了移动互联网产业链各方的发展变化需求,所以取得了迅猛的发展[6]。
Android 系统除了低廉的成本和良好的用户体验外,因采用了开源的平台,给予了终端厂商和开发者更大的灵活性,开发者在程序的开发移植上更为方便且不需要考虑厂商端内容审核等问题,终端厂商则可以按需深度定制系统开发本地化应用环境,在终端厂商、电信运营商和第三方应用开发商的推动下,用户可选择的应用资源将会进一步丰富。各大Android应用商店呈现百花齐放的态势。带给了应用开发者更多的机遇和极具诱惑力的利润分成,在各应用商店间的移植改造成本也相对较低。随着应用商店的不断发展和开发者的涌入,Android平台的应用资源优势正在逐步的扩大[7]。
而从用户的角度考虑,Android良好发展前景主要源于优秀的用户体验和高性价比这两个方面。
从人才需求类型来看,目前对Android人才需求一类是偏向硬件驱动的Android人才需求,一类是偏向软件应用的Android人才需求。从目前的招聘需求来看,后者的需求最大,包括手机游戏、手机终端应用软件和其他手机应用软件的开发[8]。
职业专家分析说,由于目前Android技术较新,具有开拓空间,无论是相关书籍、培训还是大学教育,都处于初级阶段,因此Android人才短期将供不应求。从长期来看,随着各种移动应用和手机游戏等内容需求日益增加,也将激励大中小型手机应用开发商加大对Android应用的开发力度,因此Android人才前景也被看好。
生活在信息高速发展的今天,智能手机的普及己经是不可改变的趋势。而作为手机各个功能中最为基本的酒店住房管理也成为人们生活中必不可少的一部分了[9]。在这个人与人关系愈加密切的时代,“通讯”成了生活中的必需品。通过基于Android平台下的酒店住房管理系统记录下对方的联系方式,既减轻了大脑的负担,又不在受各种条件的约束,做到便捷随身管理相关的联系信息,摆脱了传统电话簿,名片的累赘。另外,不同于微博,社交网站,基于Android平台下的酒店住房管理系统是完全属于用户的,而不隶属于某个特定公司或是服务,只要获得用户的认可,即使不是大公司也可以借此迅速建立起一个巨大的关系网络[10]。Frost & Sullivan的王煜全也曾多次强调过基于Android平台下的酒店住房管理系统是一块颠覆性创新的金矿,是创业者们创新的绝佳平台。从长远利益来看,可是意义重大的环保便民之举。根据市场需求,基于Android平台下的酒店住房管理系统管理系统所记录的信息一般分为个人、商业、办公三类。清晰了机主的联系方向。针对性的分门别类,使系统具有了方便了机主的存储和快速查阅优势功能,大大减少了在电话簿,名片上机械翻阅查找过程的时间。于此同时又根据手机随身携带的特殊性,在一定程度上比一般的制作文件方便亲民。又其次,因为手机是随身携带的通讯工具,这与记事本相比将在一定程度上保障了联系人信息的安全性,相对避免了个人隐私信息外泄从而带来的损失[11]。
综上所述,基于Android平台下的酒店住房管理系统管理系统是一个高效、实时、绿色环保的管理系统。然而现在很多酒店住房管理一味追求外观花哨,功能繁杂,对于大多数用户,许多功能用不上,形同虚设。针对以上各种弊端,开发了此种酒店住房管理,将各种性能优化,继承酒店住房管理的常用功能,满足一般用户存储,查找,删除,查看的需求,此外还支持发信息,打电话,发邮件,备份SD卡等功能[12]。
1.3主要工作
在此背景下,开发的基于Android基于Android平台下的酒店住房管理系统具有十分重要的意义。可以根据客户需求的实际情况,开发一款实用的基于Android平台下的酒店住房管理系统软件。
本设计主要是采用Android的View框架编写,部分框架运用Android中的其他组件。
当进入酒店住房管理的增加界面时,调用的是一个用相对布局RelativeLayout的XML布局文件。其中包括了2个Button,分别实现了不同的功能。第一个Button是保存内容,响应menu键的触发事件,设置底部菜单是否可见,并通过对底部菜单选项的监听实现底部菜单中的增加、查找、删除、菜单、退出等功能,其中菜单包括显示所有、删除所有。
1.4本文结构
本文首先给出了系统的研究背景,对当前基于Android平台下的酒店住房管理系统的发展现状做了简单的介绍。进而详细的分析了Android的特征、架构以及Android应用的构成和工作机制。
本文详细的提出了软件的架构,以及酒店住房管理的设计方案;采用Java开源的JAR包对HTML文件进行分析和获取图片和文字信息;对各个界面的布局和实现方式进行详细说明;对数据库设计模块进行了详尽的需求分析,经分析得到数据库设计模块,它主要完成用户对已经获取的内容的存储,删除和查询等操作;运用Android提供的各种组件设计和实现很好的UI效果,实现很好的用户体验;详细介绍了该软件的性能优化。
2 Android技术与理论2.1 Android系统开发简介2.1.1 Android技术简介
Android一词的本义指“机器人”同时也是Google。于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。它采用软件堆层(Software Stack,又名软件叠层)的架构,主要分为三部分。底层以Linux内核工作为基础,由C语言开发,只提供基本功能;中间层包括函数库Library和虚拟机Virtual Machine,由C++开发。最上层是各种应用软件,包括通话程序,短信程序等,应用软件则由各公司自行开发,以Java作为编写程序的一部分,不存在任何以往阻碍移动产业创新的专有权障碍。Google通过与软、硬件开发商、设备制造商、电信运营商等其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统[13]。
对于设备制造商来说,Android是一个免费的平台。对硬体开发厂商来说,Android是个开放的平台。只要厂商有能力,可以在这个平台上自由加入特有的装置或功能,不受手机作业系统厂商的限制。对于手持装置的开发者来说,Android是个先进的平台。平台上的应用程式可相容于各种型号的Android 手机,免去为各种不同手机机型开发的困扰。Android平台支援各种先进的网络、绘图、3D 处理能力,可以用来提供更好的使用者体验。Android它的开放性就优于其它封闭式的手机系统,因此,任何人都可能根据自己的喜好将手机系统中的所有功能重新编写。这使得越来越多的人关注这个操作系统[14]。
Android软件平台主要由五部分构成,它们分别是:关键应用程序、应用程序框架和组件、C /C ++函数库、Java程序运行环境、优化了的Linux内核[15]。
关键应用程序:Android平台内包含一些关键应用程序,如邮件收发客户端程序、短信收发程序、日历、网页浏览器等,而更多有特色的Android应用程序还有待于广大开发者共同参与开发。
应用程序框架及组件:Android 应用程序开发基于框架和组件。Android本身已在其框架中提供了许多组件供应用程序调用,开发者也可在开发应用程序时顺带开发新的组件,并将该组件放入应用程序框架中,以供自己和其它应用程序调用。
C/C++函数库:Android应用程序框架之下是一套C/C ++函数库,它们服务于Android应用程序组件,其功能通过组件间接提供给开发者。这些函数库包括: 标准C函数库、媒体功能库、浏览器引擎、2D和3D图形库等[16]。
Java程序运行环境:Android的Java程序运行环境包含一组Java核心函数库及Dalvik虚拟机,它们有效地优化了Java程序的运行过程。
Linux内核:Android系统平台基于优化了的Linux内核,它提供诸如内存管理、进程管理、设备驱动等服务,同时也是手机软硬件的连接层[17]。
Android应用程序以各种组件(API)为基础,API是Android软件平台的重要组成部分,也是开发Android应用的关键所在。
当前活动程序Activity:作为最常用的应用程序组件,几乎所有Activity都会通过创建U I窗口与用户进行交流。Activity具有生命周期,它包含运行、暂停、停止等几个状态,状态间的转换可通过调用onCreate()、onStart()、onRestart()、onResume()、onFreeze()、onPause()、onStop()、onDestory()等方法来实现。要开启新的activity,可以调用startActivity(Intent),或调用startSubActivity(Intent, int),后者通常和onActivityResult(int,int, String,Bundle)联合使用,以从一个activity获取某结果并返回给打开它的activity[18]。
图像显示View: View是最基本的UI构件,它在屏幕中占据一个矩形区域可用来显示文本、图像等内容,还可完成图像事件处理。常用的View方法有:inflate()(由XML 文件生成View)、onDraw (Canvas)(对View进行填充) 、onMeasure(int, int)(测量View的高度和宽度) 、onLayout() (完成View的布局)、onKeyDown(int, KeyEvent)(View中有按键操作时被调用) 、onFocusChanged (boolean, int)(当View得到或失去关注时被调用)、setOnClilckListener()(设置View点击事件监听器)。View也包含一些子类,如: TextView(布局文件中的文本显示)、EditText(布局文件中的文本编辑)、Button(按钮)、ListView(显示列表)[19]。
事件Intent: Intent抽象描述了想要执行的某种操作,它与startActivity一起使用可以开启新的activity,与startService一起使用可以开启后台服务。Intent最重要的作用还是加载activity,它是不同activity间的桥梁。Intent也可以被认为是一种概括操作行为的数据结构,它主要包括action (动作)和data(数据)两部分,此外它还具有一些附加属性如category(intent种类)、type(数据类型)等。常用的Intent方法有intent() (构造intent)、addcategory() (添加intent类型)、getAction()(获取intent动作)、getData()(获取intent数据)等。
数据存取与共享机制ContentProvider: ContentProvider为应用程序提供一些访问方法,包括: Query(Uri, String [ ] ,String,String[ ] , String,String, String)(数据信息的查询) ,insert(Uri, Contentvalues) (在Contentp rovider中添加新数据) ,updata(Uri, Contentvalues, String,String[ ])(更新Conntp rovider中的数据),delect(Uri, String,String[ ])(删除数据), Gettype (Uri)(获取数据类型)。其中,Uri标明了ContentProvider存储的数据类型,在执行访问方法时都需依据Uri作为路径标识来确定要访问哪个ContentProvider[20]。
后台服务Service: Service是运行在后台的应用程序组件,不直接与用户交互。当前活动程序可以使用Context. StartService()开启一项后台服务,还可以通过Context. bindService()与后台服务通信。
Android的架构是Linux内核、C/C++函数库、Dalvik虚拟机、应用框架以及关键应用程序构成的,如图2-1。通过编译基于框架的应用程序可以降低开发负荷。应用软件原则上是在Dalvik VM上运行的。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image001.jpg
图2-1 Android架构图
2.1.2 关键应用程序
Android平台内包含一些关键应用程序,如邮件收发客户端程序、短信收发程序、日历和网页浏览器等,开发者可以在其平台上开发更多有特色的应用程序,所用开发语言是Java。
2.1.3 应用程序框架
Android应用程序的开发基于框架和组件。Android本身已在其框架中提高了许多的组件供应用程序调用,当然开发者也开放新的组件,并将组件放入应用程序框架中,以供自己和其它应用程序调用。
2.1.4 函数库
Android应用程序框架之下是一套C/C++函数库,它们服务于Android应用程序组件,其功能通过组件间接提供给开发者。这些函数库包括:标准C函数库、媒体功能库、浏览器引擎、2D和3D图形库、基于WEB应用的的安全协议SSL、用于点阵和矢量字体渲染的FreeType以及SQLite引擎等。
Android的Java程序运行环境包含一组Java核心函数库及Dalvik虚拟机,它们有效地优化了Java程序的运行过程。所有的Android应用都运行在它自己的进程里,该进程是一个Dalvik虚拟机的实例,Dalvik被设计成能在一台设备上高效的运行多个虚拟机实例。Dalvik虚拟机的可执行文件被封装成Dalvik可执行格式(.dex)。这是被优化过的最小内存依赖的格式。Java编译器(dx工具)将注册了的和运行时用到的类编译成.dex格式。Dalvik虚拟机依赖于底层Linux内核提供的功能,如线程机制,和内存管理机制等。
2.1.5 Linux内核
Android系统平台是基于优化了的Linux内核,是其系统平台的核心。它提供诸如内存管理、进程管理、设备驱动等服务,同时也是手机软硬件的连接层,提供了一个屏蔽层用于屏蔽硬件和上层软件。
2.2 Android应用的构成和工作机制
对于一个Android应用程序来说,是由Activity、 Intent Receiver 、Service、Content Provider四部分组成,但并不是每一个Android应用程序都必须由这四部分组成。在应用程序中使用时,需要在配置文件AndroidMainfest.xml中进行配置。这个配置文件是每个Android应用程序所必需的,用于定义应用程序的组件、组件的功能以及必要条件等。
2.2.1 Activity
Activity是构成应用程序中最重要的构造块, 在Android应用程序中,几乎都是通过Activity来与用户进行交互,所以Activity主要负责的就是创建与用户进行交互的显示窗口,你可以在这些窗口里通过调用setContentView(View)方法来显示你自己的用户界面。
活动(Activity)在系统中以活动栈的形式进行管理。当一个新的活动启动后,被放到了栈顶,成为了运行活动,而新活动之前的活动在活动栈里总位于新活动之下,直到新的活动退出才重新回到前台。
从图2-2可以看出,Activity有三个关键的循环:
(1)活动的整个生命期:从首次调用onCreate(Bundle)开始,到最终调用onDestroyO结束。在onCreate()中进行所有初始化,在onDestroyO时进行清理工作,释放资源。
(2)活动的可见生命期:从调用onStart()开始,到onStop()被调用为止。在这段时间内,即使活动不与用户进行交互,用户也可以在屏幕上看到它。在这两个方法调用之间,可以维护活动显示给用户的资源。onStart()和onStop()方法可以多次调用,因为活动随时可以在可见和隐藏之间进行转换。
(3)活动的后台生命期:从调用onResume()开始,到onPause()被调用为止。这段时间内活动处于其它所有活动之前,并与用户进行交互。一个活动可以不断在resumed状态和paused状态之间变换。
Android使用了Intent类来实现活动之间的切换工作。Intent负责对应用中一次操作的动作、动作涉及的数据和附加数据进行描述。根据Intent的描述,负责找到对应的组件,将Intent传递给调用的组件并完成组件的调用。因此,Intent起着一种媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦。在应用中,我们可以以两种形式来使用Intent:直接Intent,指定了component属性的Intent,通过指定具体的组件类,通知应用启动对应的组件。间接Intent,没有指定component属性的Intent,则需要包含足够的信息,这样系统才能根据这些信息,在所有的可用组件中,确定满足此Intent的组件。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image003.gif
图2-2 Activity状态变换路径图
2.2.2 Intent Receiver
Intent Receiver是用于对外部事件的响应,当外部事件发生时,会使用Notification Manager通知用户。当一个Intent Receiver被触发时,系统会在需要的时候启动对应的应用程序。如在本系统中,当用户正在其它界面进行操作时,有好友发送消息过来,就会以通知的形式发送到当前界面的正上方来通知用户。各种应用还可以通过使用Context.Broadcast Intent()将它们的Intent Receiver广播给其它的应用程序,实现应用之间的通讯。
2.2.3 Service
Service是提供连续信息的应用程序。它是运行于应用程序后台的服务,在用户进行其它活动的时候,这个服务将一直运行在基于Android平台的即时通讯系统的研究与实现后台,直到用户停止该服务或服务运行结束。本系统客户端扩展功能就是采用Service来进行设计和开发的。
2.2.4 Content Provider
Content Provider应用程序能够将它们的数据保存到文件、SQL数据库和其它的存储设备中。当应用程序需要使用存储设备中的数据时,可以使用Content Provider来完成。使用Content Provider能够灵活的替换底层使用的存储设备,使开发者可以专著于应用逻辑的开发,不用考虑底层存储设备的细节,从而使应用系统具有良好的数据。
3需求分析3.1功能需求分析
根据用户需求总结出来的反映了用户需求的系统逻辑模型转换成可以实施的物理模型,把整个设计划分成单元,主要解决如何去做的问题,要想创建整个酒店住房管理首先要通过增加信息来创建酒店住房管理。整个应用程序应划分为4个模块,分别是程序启动、用户界面、后台服务和数据库适配器,
从上图中不难看出,后台服务是整个应用程序的核心,主要是“数据获取模块”,负责周期性的从用户输入的内容中获取信息。后台服务在程序启动时就由AppWidgetProvider启动,也可由用户界面通过startService()进行启动,启动后的后台服务将一直保持运行状态。同时用户界面从数据库中获取文本信息。一方面可以避免因网络通信不畅造成界面失去响应;另一方面,后台服务可以及时更新数据,以保证数据的准确性。数据库适配器封装了所有对SQLite数据库操作的方法,用户界面和后台服务会调用它来实现数据库操作。在完成用户界面设计、数据库设计和模块设计后,至此程序设计阶段基本完成。
3.2性能需求分析
手机软件要有良好的用户体验,良好的用户体验体现在以下几个方面:
(1)界面友好
用户界面要简洁直观,设计合理,方便用户操作,让用户操作起来比较舒服,并且UI视觉效应好。
(2)快速响应
快速处理用户的输入或请求,对于需要长时间处理的部分,在其处理时可以给用户一个提示,告知用户该软件正在运行。
(3)无缝性
一个常见的无缝问题就是一个应用的后台进程(如service或broadcast receiver)对某事件作出响应而弹出对话框,这看起来并无大碍,特别是当我在模拟器上单独地构建和测试系统时。然而,当我的应用在真正的设备上运行,后台线程显示对话框时,我的应用当时可能没有获得用户焦点。这就会出现我的应用会在活动的应用后面显示对话框,或者从当前应用中获得焦点并显示对话框的情况,而管论当时用户正在做什么(如正在打电话等)。那样的行为可能对我的应用或用户不起作用。为了避免这些问题,我的应用应该利用适当的系统资源——Notification类来通知用户。利用通知,我的应用可以通过在状态条上显示一个图标来通知用户事件已经发生,而非获得焦点和打断用户。
3.3数据库需求分析
数据结构组织和数据库文件设计要根据不同用途使用要求等,来决定数据的整体组织形式等。
数据库,顾名思义,是存放数据的仓库。只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的。数据库中的数据按一定数据模型组织、描述和存储,具有较小的重复度、较高的数据独立性和易扩展性,并且可以被在一定范围内的各种用户共享。在涉及数据库的软件开发中,需要根据有待解决的问题性质、规模,以及所采用的前端程序创建工具等,做出合适的数据库类型选择,用户数据库是基于SQLite建立。
SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款世界著名开源的数据库管理系统来讲,它的处理速度比他们都快。这也是android的性能优势。
该系统数据库的建立是完全在Android平台上执行Java代码,通过DVM编译来建立的,没有什么辅助工具,由于整个SQLite数据库是非可视化操作,所有对数据库的操作都是通过执行Java代码实现,在完成其查询功能的时候没有使用数据库高级编程,较为麻烦的关节是在如何有机的将客户端数据库整体结构实现出来,实现过程是无可视界面,也没有数据库辅助工具情况下,整个过程很抽象。
3.4安全需求
Android安全中的一个重要的设计点是在默认的情况下应用没有权限执行对其他应用程序,操作系统或用户的有害操作。这些操作包括读取用户的隐私数据,访问网络,保持设备活动等等,应用程序的进程是一个安全的黑盒子,在没有给它权限的时候它不能干扰其他应用程序。
4功能设计4.1总体设计
一个好的系统设计的步骤决定了程序是否能按照设计者的目的按时完成,是否能在规定的时间内按照设计者的要求高质量的完成程序必要的功能。并且按照标准的设计步骤对程序进行调试,测试,以及后期的优化完善,使程序更加具有健壮性和可用性。通过对酒店住房管理功能、系统模块、用户需求方面进行全方位的分析制定开发流程,开发流程如图4-1所示。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image005.jpg
图4-1开发流程图
采用标准的开发流程确定系统具有用户管理功能,联系人增删改功能,通讯功能,查找功能,备份等功能。系统的功能图如4-2所示。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image006.gif
图4-2 系统功能图
通过对系统的功能结构的分析,设计后系统运行流程是系统运行后用户将进入酒店住房管理主界面,
4.2系统功能设计
根据手机功能调查显示,近十成消费者都会使用基于Android平台下的酒店住房管理系统功能,随着基于Android平台下的酒店住房管理系统功能的不断加强与完善,基于Android平台下的酒店住房管理系统的意义,不在像以前买个录音机,而是向着个性化、人性化的方向发展。酒店住房管理从无到有,从英文到中文,经历了十几年的发展历程,今后的发展趋势就是从酒店住房管理发展为一个录音系统
1.完成一个功能实用,使用方便快捷的录音器;
2.能够实现通过手机麦克录音和播放,并能够将录下来的文件上传到服务器;当按下录音按钮时能够提示正在录音,按下停止按钮能够提示录音结束;能够将界面做的美观些。
5酒店住房管理实现5.1 Android开发平台搭建
Android的上层应用程序是用Java语言开发,同时还需要基于Dalvik虚拟机,所以,Google公司推荐使用主流的Java继承开发环境Eclipse。只有Eclipse还不够,因为是使用Java语言进行开发,还应该有由SUN公司提供的Java SDK(其中包括JRE:Java Runtime Environment)。此外,Android的应用程序开发和Java开发有较大区别的,所以还需要有Google提供的Android SDK。同时,还需要在Eclipse安装ADT,为Android开发提供开发工具的升级或者变更,是Eclipse下开发工具的升级下载的工具。
简言之,需要以下软件,才能搭建Android开发环境,从而进行Android应用程序的开发。
(1) Java SDK
(2) Eclipse
(3) AndroidSDK
(4) ADT
Android开发平台搭建步骤:
(1)首先到http://www.eclipse.org/downloads/下载Eclipse集成开发环境并且解压,这里推荐下载Java EE 集成版本。去http://java.sun.com/javase/downloads/index.jsp站点下载SDK后安装,下载http://dl.google.com/android/android-sdk-windows-1.5_r1.zip,Android SDK1.5后解压。第一步下载工序就结束了。
    (2)双击Eclipse解压后目录中的eclipse.exe然后启动,选择Eclipse菜单中的Help->Install New Software->Available Software,点击右侧的“Add”输入http://dl-ssl.google.com/android/eclipse/后确定,然后在“Work with”下拉菜单中选择刚才输入的网址。过一会就会出现一个Developer Tools选项,勾上以后点击Next以后Eclipse会自动网上查找Android 开发工具插件,然后要到Android DDMS和Android Development Tools,选中这两个点击Finish,Eclipse就会自动下载并安装Android插件了,最后会提示重启Eclipse。
(3)重启后选择Eclipse菜单中的Windows-> Preferences 在左侧的Android项目中SDK Location中填入Android SDK解压后的目录,然后点击Apply。
(4)在Windows XP的系统变量中的path变量中添加一个值,该值指向解压后的Android SDK目录下的tools文件夹。
5.2具体功能实现5.2.1界面布局
Android的资源文件保存在/res的子目录中。其中/res/drawable/目录中保存的是图像文件,/res/values目录中保存的是用来自定义字符串和颜色的文件,/res/xml目录中保存的是XML格式的数据文件。所有在程序开发阶段可以被调用的资源都保存在这些目录中,在对界面进行绘制时要考虑到不同手机屏幕大小可能不一样,应尽量兼容大多数手机屏幕尺寸,使之显示无障碍。增加界面绘制代码如下:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
       android:layout_width="fill_parent"//宽度为填充
       android:layout_height="fill_parent"//高度为填充
       androidrientation="vertical">//方向为垂直
       <ScrollViewandroid:layout_weight="4" //比重4:1
       android:id="@+id/ScrollView1"
       android:layout_width="fill_parent"//宽度充满父空间
       android:layout_height="wrap_content"//根据内容决定高度
       android:scrollbars="vertical">//滚动条方向为垂直
       <LinearLayout
       xmlns:android="http://schemas.android.com/apk/res/android"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       androidrientation="vertical">
       <LinearLayout
       android:id="@+id/widget205"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:layout_marginLeft="10dp"//左边距为10dp
       android:layout_marginRight="10dp">
       <ImageButton
       android:id="@+id/image_button"
       android:layout_width="60px"
       android:layout_height="60px"
       android:src="@drawable/icon"//默认图片
       android:scaleType="centerCrop"//按比例缩放图片,保持图片的尺寸比例
       ></ImageButton>                 
<EditText
       android:id="@+id/username"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:scrollbars="vertical"
       android:hint="姓名" //hint当文本内容为空时,出现的提示信息
       android:gravity="top"//置顶垂直排列
       android:layout_gravity="center_vertical"//排列居中                               />
       </LinearLayout>
<LinearLayout
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       androidrientation="vertical"
       android:layout_marginRight="10dp"
       android:layout_marginLeft="10dp">
       <TextView
       android:layout_height="wrap_content"
       android:layout_width="wrap_content"
       android:text="手机:"
       android:textSize="20dp"/>
       <EditText
       android:id="@+id/mobilephone"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:scrollbars="vertical"
       android:gravity="top"android:hint="手机"
       android:phoneNumber="true"/>//只能输入数字
       </LinearLayout>
       <LinearLayout
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       androidrientation="horizontal"
       android:layout_marginLeft="10dp"
       android:layout_marginRight="10dp">
       <Button
       android:id="@+id/save"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_weight="1"
       android:text="保存"/>
       <Button
       android:id="@+id/btn_return"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_weight="1"
       android:text="返回"/>
       </LinearLayout>
</LinearLayout>

5.2.1新客登记
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image008.jpg
5.2.2房间选择
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image010.jpg
5.2.3房间预订
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image012.jpg
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image014.jpg


6系统测试
测试过程按4个步骤进行,即单元测试、集成测试、确认测试和系统测试及发版测试。
开始是单元测试,集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确地实现了规定的功能。
集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。
确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全正确。
系统测试把已经经过确认的软件纳入实际运行环境中,与其它系统成份组合在一起进行测试。
通过对本系统进行的多次的测试,系统正确.完成一个功能实用,使用方便快捷的录音器;
能够实现通过手机麦克录音和播放,并能够将录下来的文件上传到服务器;当按下录音按钮时能够提示正在录音,按下停止按钮能够提示录音结束。
结束语
在系统开发过程中,对Android的学习比想象的要困难的多,为了在短时间内投入到开发,完成系统。需要大量的时间去学习,我在图书馆借阅了相关开发的书籍,照着上面去学习,以最快的速度学习Android,掌握开发中的各种控件的使用。本文主要研究了Android平台的架构以及在Android平台上基于Android平台下的酒店住房管理系统功能的实现。
    本文在Android平台以及在该平台上开发基于Android平台下的酒店住房管理系统上做了大量的工作,但因个人能力有限,还有很多问题需要实现和解决,现对未来可以进行的工作做出以下几点展望:
   (1)本文实现的酒店住房管理是基于Android平台进行开发的,但是还未能真正解析Android的精髓,系统的界面设计也不是很完善,对Android平台进一步研究能够使系统在设计方面更加快捷和完善。
   (2)本文所开发的系统目前还只是在模拟器上进行运行,还有待移植到真机上进行进一步研究。相信随着研究的进一步深入,这些问题会逐步得到解决,相信基于Android基于Android平台下的酒店住房管理系统类应用软件会有很好的应用前景。
这次系统的开发对我来说是一个挑战,对于从来没接触过Android的我经过努力,现在程序运行良好,基本功能得以实现。这一次的系统开发让我受益匪浅,我相信它会对我以后的人生和工作都起到很好的促进作用,有着积极的影响。


这是第一条纪录哦~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|服务支持:DZ动力| 找毕设网

GMT+8, 2019-12-11 21:30 , Processed in 0.025207 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表