基于android预定酒店软件的设计与实现_第1页
基于android预定酒店软件的设计与实现_第2页
基于android预定酒店软件的设计与实现_第3页
基于android预定酒店软件的设计与实现_第4页
基于android预定酒店软件的设计与实现_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计论文所在学院_软件学院专业软件工程_设计题目基于ANDROID预订酒店软件的与实现2014年05月毕业设计(论文)任务书第1页毕业设计(论文)题目基于ANDROID预定酒店软件的设计与实现毕业设计(论文)要求及原始数据(资料)1综述国内外移动互联3G技术研究现状;了解近来几年ANDROID系统的发展,2了解ANDROID的发展背景;展望其发展前景,3了解手机操作系统的发展现状,4了解ANDROID开发,JAVA,SQL等相关技术;搭建开发环境的过程,技术及其技巧5熟练掌握虚拟机SDK的应用与分析,训练编写功能性程序的能力;开发ANDROID的酒店界面及其操作系统,6深入分析JAVA开发ANDROID程序的关键技术与编写语言;7训练检索文献资料和利用文献资料的能力;8训练撰写技术文档与学位论文的能力。第2页毕业设计(论文)主要内容1了解ANDROID应用程序的设计和开发过程,搭建ANDROID开发环境,2使用多种组件进行ANDROID平台3G手机酒店查询系统3熟悉ECLIPSE上ANDROID手机虚拟机SDK开发4设计手机端对酒店查询的方式,具体操作办法首先有注册界面用于客户的注册,其次添加用户,添加用户之后用户就可以预览,预定房间,设置开始时间,结束时间,有需要也可退订房间5深入了解JAVAWEB服务器端,实现对酒店的管理,酒店的详细信息6设计手机端APPWIDGET应用程序,实现手机对酒店的查询功能(构思)7设计并实现手机通过互联网进行数据的更新(构思)8阐述国内3G网络的目前状况,9展望HTML5,4G时代给中国带来的机遇与竞争学生应交出的设计文件(论文)1内容完整、层次清晰、叙述流畅、排版规范的毕业设计论文;2包括毕业设计论文、源程序等内容在内的毕业设计电子文档及其它相关材料。第3页主要参考文献(资料)1靳岩,姚尚朗GOOGLEANDROID开发入门与实战M北京人民邮电出版社,20091122景保玉2010中国移动应用开发现状与趋势大调查M北京人民邮电出版社,20112193英HERBERTSCHILDTJAVA参考大全M北京清华大学出版社,20089114美鲍格斯坦BERGSTEN,H著,林琪,朱涛江译JSP设计第三版M北京中国电力出版社,200412285高昂支持动态语言的ANDROID平台M北京人民邮电出版社,2009576郭志宏ANDROID应用开发详解M北京电子工业出版社,20106217韩超,梁泉ANDROID系统开发原理及开发要点详解M北京电子工业出版社,20101118李宁ANDROID/OPHONE开发完全讲义M/CD北京水利水电出版社,20106199余志龙GOOGLEANDROIDSDK开发范例大全第2版M北京人民邮电出版社,20106610公磊,周聪ANDROID的移动应用终端应用程序开发与研究J南昌计算机与现代化,20088858911高焕堂ANDROID应用框架原理与程式设计36技MGOOGLE公司,200822212英梅尔ANDROID2高级编程第2版M北京清华大学出版社,2010121213DAUTENHAHNKERSTINMETHODOLOGYANDTHEMESOFHUMANROBOTINTERACTIONAGROWINGRESEARCHFIELDJAPRESSINTERNATIONALJOURNALOFADVANCEDROBOTICSYSTEMS,200710310814MEHRANSAHAMIPROGRAMMINGMETHODOLOGYMAPRESSTHEEXPERTSVOICE,200841215JULIEZELENSKIPROGRAMMINGABSTRACTIONSMAPRESSTHEEXPERTSVOICE,201031616HASEMANCHRISANDROIDESSENTIALSMAPRESSTHEEXPERTSVOICE,200982217DIMARZIAJEROMEAPROGRAMMERSGUIDEMMCGRAWHILLTHEEXPERTSVOICE,200841118王向辉,张国印,沈洁ANDROID应用程序开发M北京清华大学出版社,20103319张孝祥JAVA就业培训教程M北京清华大学出版社,200772220E2ECLOUD工作室深入浅出GOOGLEANDROIDM北京人民邮电出版社,2009811专业班级软件21班学生贺尔栋要求设计(论文)工作起止日期2014年3月17日2014年6月27日指导教师签字日期2014年3月17日教研室主任审查签字日期2014年月日系主任批准签字日期2014年月日基于ANDROID的酒店预订软件的设计与实现摘要目前ANDROID手机应用越来越广泛,本系统预实现可以在ANDROID手机上的酒店预订功能,以达到方便用户的目的。本系统涵盖两方面功能ANDROID手机客户端应用和WEB服务器端酒店管理系统。WEB服务器端实现酒店的预定管理,包括管理员管理、资源管理、订单管理等等。ANDROID客户端应用包括用户信息、首页、预订信息等功能。经过分析运用ECLIPSE、MYSQL等开发工具在较短时间内建立了系统的应用雏形,接着再对雏形系统进行需求分析,以及不断补充和完善系统个方面的功能,不断的修正和改进系统的各功能模块,最终形成当前的可行系统。关键词ANDROID;酒店预订;JAVAMYSQLECLIPSEDESIGNANDIMPLEMENTATIONOFANDROIDBASEDHOTELRESERVATIONSOFTWAREABSTRACTANDROIDPHONESARECURRENTLYMOREWIDELY,THESYSTEMPREIMPLEMENTEDONANDROIDPHONESHOTELRESERVATIONCAPABILITIESTOACHIEVETHEPURPOSEOFCONVENIENCECUSTOMERSTOSTAYOUTOFTHEDESIGNTHESYSTEMCOVERSTWOFUNCTIONSWEBSERVERCANSIDEIMPLEMENTATIONTOHOTELMANAGEMENT,INCLUDINGTHEADMINISTRATORMANAGEMENT,RESOURCEMANAGEMENT,ORDERMANAGEMENT,ETCTHEANDROIDCLIENTAPPLICATIONINCLUDINGUSERINFORMATION,THEHOMEPAGE,RESERVATIONINFORMATION,ETCAFTERANALYSISUSINGECLIPSE,MYSQLANDOTHERDEVELOPMENTTOOLSBUILDSYSTEMAPPLICATIONPROTOTYPEINASHORTTIME,THENAGAINONTHEPROTOTYPESYSTEMNEEDSANALYSIS,ANDCONSTANTLYSUPPLEMENTANDPERFECTTHESYSTEMINTERMSOFFUNCTION,ANDCONSTANTLYREVISEDANDIMPROVEDSYSTEMOFEACHFUNCTIONMODULE,EVENTUALLYFORMINGTHEFEASIBLESYSTEMKEYWORDSANDROIDHOTELRESERVATIONJAVAMYSQLECLIPSE目录摘要IABSTRACTII第一章绪论111研究背景112研究现状113主要工作314本文结构3第二章ANDROID技术与理论521ANDROID系统开发简介5211ANDROID技术简介5212关键应用程序7213应用程序框架7214函数库7215LINUX内核822ANDROID应用的构成和工作机制8221ACTIVITY8222INTENTRECEIVER9223SERVICE9224CONTENTPROVIDER923开发软件及安装10231JAVA运行环境10232ECLIPSE编程软件11233MYSQL50数据库和NAVICATFORMYSQL13234WEB应用服务器TOMCAT60141424课题研究的方法15第三章需求分析1631功能需求分析1632性能需求分析1733数据库需求分析1734安全需求17第四章功能设计1841总体设计1842系统功能设计1843数据库设计19431ER图19432相关表设计21433WEB服务器端设计23第五章酒店住房管理实现2451ANDROID开发平台搭建2452具体功能实现24521界面布局24522新客登记27523房间选择30524房间预订30525房间退订32第六章系统测试33致谢40参考文献41外文翻译42第一章绪论11研究背景随着时代的发展,人们对于信息的获取有着强烈的需求。智能手机作为一种非常重要的通讯工具,功能越来越强大,智能手机凭借其可以随时随地地获取和处理信息的优势,逐渐成为人们获取信息的一种重要手段,所以研究ANDROID平台应用软件的开发很有必要,并且以ANDROID录音软件的设计和实现更能在某些方面上满足现代人的一些需求。发展状况ANDROID的主要竞争对手是苹果公司的IOS以及RIM的BLACKBERRYOS。2011年第一季度,ANDROID在全球的市场份额首次超过塞班系统,跃居全球第一。2011年11月数据,ANDROID占据全球智能手机操作系统市场525的份额,中国市场占有率为58。智能手机(SMARTPHONE,是指“像个人电脑一样,具有独立的操作系统,可以由用户自行安装软件、游戏等第三方服务商提供的程序,通过此类程序来不断对手机的功能进行扩充,并可以通过移动通讯网络来实现无线网络接入的这样一类手机的总称”。目前,全球多数手机厂商都有智能手机产品,而芬兰诺基亚、美国苹果、加拿大RIM(黑莓)、美国摩托罗拉、中国台湾宏达(HTC)都是智能机中的佼佼者1。智能手机具有五大特点1具备了无线接入互联网的能力,即要有GSM的支持网络下的GPRS或者是CDMA网络支持下的CDMA1X或3G网络。2人性化,可以根据个人需要扩展机器的功能。3它是具有开放性的操作系统,还可以安装非常多的应用程序,使得智能手机的功能可以得到无限的扩展。4具有PDA功能,其中包括个人信息管理、日程记事、任务安排、多媒体应用、浏览网页等。5扩展性能强,第三方软件支持多2。ANDROID是一种以LINUX为基础的开放源码操作系统,主要使用于便携设备。目前尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。ANDROID的主要竞争对手是苹果公司的IOS以及RIM的BLACKBERRYOS。2011年第一季度,ANDROID在全球的市场份额首次超过塞班系统,跃居全球第一。2012年2月数据,ANDROID占据全球智能手机操作系统市场525的份额,中国市场占有率为6843。在这个信息化的时代,手机已成为继固话之后最为通俗的交流工具4。在这个人与人关系愈加密切的时代,“通讯”成了生活中的必需品。一个系统记录下人与人之间的多样联系方式手机通讯系统。目前国内的酒店住房管理应用服务商分为三类,第一类如幸会、名片全能王、QR扫描等等,这些产品主要是为了解决名片交换时候输入难度较高的问题。而这也就致使了这部分厂家缺少了一个服务商最看重的东西对用户没有持续的运营能力;第二类如火种、QQ酒店住房管理、友录、手机自带的酒店住房管理同步服务等等,这部分的市场主要提供了号码备份服务,帮助用户解决手机号码记录联系人的问题。第三类就是针对与酒店住房管理之上提供的拓展应用服务提供商,比如米聊和微信,你可以通过上面去发短信,实现多种通信能力的聚合5。12研究现状生活在信息高速发展的今天,智能手机的普及己经是不可改变的趋势。而作为手机各个功能中最为基本的酒店住房管理也成为人们生活中必不可少的一部分了9。在这个人与人关系愈加密切的时代,“通讯”成了生活中的必需品。通过基于ANDROID平台下的酒店预订软件记录下对方的联系方式,既减轻了大脑的负担,又不在受各种条件的约束,做到便捷随身管理相关的联系信息,摆脱了传统电话簿,名片的累赘。另外,不同于微博,社交网站,基于ANDROID平台下的酒店预订软件是完全属于用户的,而不隶属于某个特定公司或是服务,只要获得用户的认可,即使不是大公司也可以借此迅速建立起一个巨大的关系网络10。FROST中间层包括函数库LIBRARY和虚拟机VIRTUALMACHINE,由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都会通过创建UI窗口与用户进行交流。ACTIVITY具有生命周期,它包含运行、暂停、停止等几个状态,状态间的转换可通过调用ONCREATE、ONSTART、ONRESTART、ONRESUME、ONFREEZE、ONPAUSE、ONSTOP、ONDESTORY等方法来实现。要开启新的ACTIVITY,可以调用STARTACTIVITYINTENT,或调用STARTSUBACTIVITYINTENT,INT,后者通常和ONACTIVITYRESULTINT,INT,STRING,BUNDLE联合使用,以从一个ACTIVITY获取某结果并返回给打开它的ACTIVITY18。图像显示VIEWVIEW是最基本的UI构件,它在屏幕中占据一个矩形区域可用来显示文本、图像等内容,还可完成图像事件处理。常用的VIEW方法有INFLATE(由XML文件生成VIEW、ONDRAWCANVAS(对VIEW进行填充、ONMEASUREINT,INT测量VIEW的高度和宽度、ONLAYOUT完成VIEW的布局、ONKEYDOWNINT,KEYEVENTVIEW中有按键操作时被调用、ONFOCUSCHANGEDBOOLEAN,INT当VIEW得到或失去关注时被调用、SETONCLILCKLISTENER设置VIEW点击事件监听器。VIEW也包含一些子类,如TEXTVIEW布局文件中的文本显示、EDITTEXT布局文件中的文本编辑、BUTTON按钮)、LISTVIEW显示列表19。事件INTENTINTENT抽象描述了想要执行的某种操作,它与STARTACTIVITY一起使用可以开启新的ACTIVITY,与STARTSERVICE一起使用可以开启后台服务。INTENT最重要的作用还是加载ACTIVITY,它是不同ACTIVITY间的桥梁。INTENT也可以被认为是一种概括操作行为的数据结构,它主要包括ACTION动作和DATA数据两部分,此外它还具有一些附加属性如CATEGORYINTENT种类、TYPE数据类型等。常用的INTENT方法有INTENT构造INTENT、ADDCATEGORY添加INTENT类型、GETACTION获取INTENT动作、GETDATA获取INTENT数据等。数据存取与共享机制CONTENTPROVIDERCONTENTPROVIDER为应用程序提供一些访问方法,包括QUERYURI,STRING,STRING,STRING,STRING,STRING,STRING数据信息的查询,INSERTURI,CONTENTVALUES在CONTENTPROVIDER中添加新数据,UPDATAURI,CONTENTVALUES,STRING,STRING更新CONNTPROVIDER中的数据,DELECTURI,STRING,STRING删除数据,GETTYPEURI获取数据类型。其中,URI标明了CONTENTPROVIDER存储的数据类型,在执行访问方法时都需依据URI作为路径标识来确定要访问哪个CONTENTPROVIDER20。后台服务SERVICESERVICE是运行在后台的应用程序组件,不直接与用户交互。当前活动程序可以使用CONTEXTSTARTSERVICE开启一项后台服务,还可以通过CONTEXTBINDSERVICE与后台服务通信。ANDROID的架构是LINUX内核、C/C函数库、DALVIK虚拟机、应用框架以及关键应用程序构成的,如图21。通过编译基于框架的应用程序可以降低开发负荷。应用软件原则上是在DALVIKVM上运行的。图21ANDROID架构图212关键应用程序ANDROID平台内包含一些关键应用程序,如邮件收发客户端程序、短信收发程序、日历和网页浏览器等,开发者可以在其平台上开发更多有特色的应用程序,所用开发语言是JAVA。213应用程序框架ANDROID应用程序的开发基于框架和组件。ANDROID本身已在其框架中提高了许多的组件供应用程序调用,当然开发者也开放新的组件,并将组件放入应用程序框架中,以供自己和其它应用程序调用。214函数库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内核提供的功能,如线程机制,和内存管理机制等。215LINUX内核ANDROID系统平台是基于优化了的LINUX内核,是其系统平台的核心。它提供诸如内存管理、进程管理、设备驱动等服务,同时也是手机软硬件的连接层,提供了一个屏蔽层用于屏蔽硬件和上层软件。22ANDROID应用的构成和工作机制对于一个ANDROID应用程序来说,是由ACTIVITY、INTENTRECEIVER、SERVICE、CONTENTPROVIDER四部分组成,但并不是每一个ANDROID应用程序都必须由这四部分组成。在应用程序中使用时,需要在配置文件ANDROIDMAINFESTXML中进行配置。这个配置文件是每个ANDROID应用程序所必需的,用于定义应用程序的组件、组件的功能以及必要条件等。221ACTIVITYACTIVITY是构成应用程序中最重要的构造块,在ANDROID应用程序中,几乎都是通过ACTIVITY来与用户进行交互,所以ACTIVITY主要负责的就是创建与用户进行交互的显示窗口,你可以在这些窗口里通过调用SETCONTENTVIEWVIEW方法来显示你自己的用户界面。活动ACTIVITY在系统中以活动栈的形式进行管理。当一个新的活动启动后,被放到了栈顶,成为了运行活动,而新活动之前的活动在活动栈里总位于新活动之下,直到新的活动退出才重新回到前台。从图22可以看出,ACTIVITY有三个关键的循环1活动的整个生命期从首次调用ONCREATEBUNDLE开始,到最终调用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的组件。ACTIVITYSTARTSONCREATEONSTARTNEWACTIVITYISSTARTEDONRESUMEACTIVITYISRUNNINGONSTOPYOURACTIVITYISNOLONGVISIBLEONPAUSEONDESTROYACTIVITYISSHUTDOWNUSERNAVIGATESBACKTOYOURACTIVITYPROCESSISKILLEDOTHERAPPLICATIONNEEDMEMORYONRESTARTYOURACTIVITYCOMESTOTHEFOREGROUNDYOURACTIVITYCOMESTOTHEFOREGROUND图22ACTIVITY状态变换路径图222INTENTRECEIVERINTENTRECEIVER是用于对外部事件的响应,当外部事件发生时,会使用NOTIFICATIONMANAGER通知用户。当一个INTENTRECEIVER被触发时,系统会在需要的时候启动对应的应用程序。如在本系统中,当用户正在其它界面进行操作时,有好友发送消息过来,就会以通知的形式发送到当前界面的正上方来通知用户。各种应用还可以通过使用CONTEXTBROADCASTINTENT将它们的INTENTRECEIVER广播给其它的应用程序,实现应用之间的通讯。223SERVICESERVICE是提供连续信息的应用程序。它是运行于应用程序后台的服务,在用户进行其它活动的时候,这个服务将一直运行在基于ANDROID平台的即时通讯系统的研究与实现后台,直到用户停止该服务或服务运行结束。本系统客户端扩展功能就是采用SERVICE来进行设计和开发的。224CONTENTPROVIDERCONTENTPROVIDER应用程序能够将它们的数据保存到文件、SQL数据库和其它的存储设备中。当应用程序需要使用存储设备中的数据时,可以使用CONTENTPROVIDER来完成。使用CONTENTPROVIDER能够灵活的替换底层使用的存储设备,使开发者可以专著于应用逻辑的开发,不用考虑底层存储设备的细节,从而使应用系统具有良好的数据。23开发软件及安装231JAVA运行环境安装JDK,首先下载好JDK应用程序JDK6U21WINDOWSI586EXE,然后单机安装,安装的目录都在D盘,所有其他步骤只要保持默认就行了,接着就是环境配置,具体做法与步骤如下在“计算机”上点右键“属性”“高级系统设置”“环境变量N”。图23配置环境变量新建系统变量JAVA_HOMEDJRE环境配置;如图24所示。图24配置JAVA_HOME新建系统变量CLASSPATHJAVA_HOMELIB(注意点号表示当前目录,不能省略)图2配置CLASSPASS在系统变量PATH的值的前面加入以下内容JAVA_HOMEBIN注意这里的分号不能省略到这里,JDK安装完毕。图26配置PATH本系统安装的是JDK6U21WINDOWSI586EXE文件,并对其进行环境配置,配置成功后,打开CMD后,输入JAVAVERSION会显示所使用的JRE版本,如下图所示,表示环境配置成功。图27CDM下查看JDK232ECLIPSE编程软件ECLIPSE是由SUN公司提出的免费开源软件;具有强大的JAVA程序开发扩展性,能实现JAVA程序的编写编译测试和运行的一体化;还支HIBERNATE,CVS,XML,UML,SPRING等面向对象编程的基于映射来实现的编程扩展性;是一款比较理想的开发软件。在开发的过程中我们只要应用是的SUN公司提供是SWING图形界面工具来实现主要模块和框架;故该系统是用纯JAVA语言来实现的。ECLIPSE使用的是中文版本,该版本便于使用,具有很好的开发性、高效的GUI、先进的代码编辑器等,其项目可以包含多种多样的子项目组,每个包文件都有其特定的功能,比如SCR里放的是源文件,JAVA程序就编写于其中;而RES包中含有桌面布局XML编程,某些图片也存放在这里。该代码编辑器还可以支持在线下载插件,扩展更为丰富的功能。其主界面如图28所示图28主界面图插件ADT的下载,在ECLIPSE菜单栏上打开“帮助”,选“INSTALLNEWSOFTWARE”,会跳出如下窗口,在“WORKWITH”后面输入网址“HTTPS/DLSSLGOOGLECOM/ANDROID/ECLIPSE/”,单机“ADD”按钮,具体步骤如27所示图29在ECLIPSE中添加软件233MYSQL50数据库和NAVICATFORMYSQLMYSQL是目前最流行的开放源代码的数据库管理系统;MYSQL是一个高性能,多线程,多用户的建立在客户和服务器上的数据库管理系统MYSQL所采用的SQL查询语言语言则集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体,语言风格统一,可以独立完成数据库生命周期中全部活动,包括定义关系模式、建立数据库、插入数据、查询、更新、维护、数据库重构、数据库安全性控制等一系列操作要求,这就为数据库应用系统的开发提供了良好的环境。用户在数据库投入了运行后,还可根据需要随时地逐步地修改模式,且并不影响数据库的运行,从而使系统具有良好的可扩展性。MYSQL数据库适用于中小型企业,因此,应用范围较广,55的版本已经开始支持事物,MYSQL是一种开放源代码的关系型数据库管理系统(RDBMS),MYSQL数据库系统使用最常用的数据库管理语言结构化查询语言(SQL)进行数据库管理。由于MYSQL是开放源代码的,因此任何人都可以在GENERALPUBLICLICENSE的许可下下载并根据个性化的需要对其进行修改。MYSQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MYSQL是管理内容最好的选择。图210MYSQL程序登录界面NAVICAT是一套快速、可靠并价格相宜的数据库管理工具,专为简化数据库的管理及降低系统管理成本而设。它的设计符合数据库管理员、开发人员及中小企业的需要。NAVICAT是以直觉化的图形用户界面而建的,让你可以以安全并且简单的方式创建、组织、访问并共用信息。NAVICATFORMYSQL是一套专为MYSQL设计的高性能数据库管理及开发工具它可以用于任何版本321或以上的MYSQL数据库服务器,并支持大部份MYSQL最新版本的功能,包括触发器、存储过程、函数、事件、视图、管理用户等。在NAVICATFORMYSQL中建立新的数据库连接,需输入连接名与密码,如图所示单机“确定”按钮。图211连接MYSQL数据库右击MYSQL选择“新建数据库”,在填出对话框中输入数据库名为“TEST”,字符集选GBK编码,如下图212所示,单机“确定”。接着在新建的数据库TEST上右击,选择“运行SQL文件命令”跳出窗口,可以选择你所编号的用户表,并选好对应的编码方式,这里是GBK,不然会出现乱码,然后单机“开始”,实现表的导入,见图213。图212图213234WEB应用服务器TOMCAT6014TOMCAT服务器是一个免费的开放源代码的WEB应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好APACHE服务器,可利用它响应对HTML页面的访问请求。实际上TOMCAT部分是APACHE服务器的扩展,但它是独立运行的,所以当你运行TOMCAT时,它实际上作为一个与APACHE独立的进程单独运行的。诀窍是,当配置正确时,APACHE为HTML页面服务,而TOMCAT实际上运行JSP页面和SERVLET。另外,TOMCAT和IIS、APACHE等WEB服务器一样,具有处理HTML页面的功能,另外它还是一个SERVLET和JSP容器,独立的SERVLET容器是TOMCAT的默认模式。不过,TOMCAT处理静态HTML的能力不如APACHE服务器。TOMCAT很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。安装并运行TOMCAT,信息如图214图21424课题研究的方法基于ANDROID21平台用ECLIPSE进行JAVA语言编程、调试,下载虚拟机进行模拟,方便运行程序时进行效果演示。其中DDMS可以查看线程,进入程序内部查看细节。控制台上会看到运行时的情况,包括警告与错误等。本软件的设计方法是通过实验法来进行的,首先从已有的理论和经验出发,形成某种框架和理论构想,即“假说”(亦可称“假设”);接着是实现就是将形成的假设在积极主动有计划有控制的具体实践中加以验证。通过对实验内容、发展状况的观察,确立最终的程序,有效的验证和完善系统设计。在软件设计方面,大量的了解已有的被人做成功的经典项目,分析自己的项目该如何设计,是否有共同的地方,对比分析中,会找到更加简单实用的方法。第三章需求分析31功能需求分析根据用户需求总结出来的反映了用户需求的系统逻辑模型转换成可以实施的物理模型,把整个设计划分成单元,主要解决如何去做的问题,要想创建整个酒店住房管理首先要通过增加信息来创建酒店住房管理。整个应用程序应划分为4个模块,分别是程序启动、用户界面、后台服务和数据库适配器。后台服务是整个应用程序的核心,主要是“数据获取模块”,负责周期性的从用户输入的内容中获取信息。后台服务在程序启动时就由APPWIDGETPROVIDER启动,也可由用户界面通过STARTSERVICE进行启动,启动后的后台服务将一直保持运行状态。同时用户界面从数据库中获取文本信息。一方面可以避免因网络通信不畅造成界面失去响应;另一方面,后台服务可以及时更新数据,以保证数据的准确性。数据库适配器封装了所有对MYSQL数据库操作的方法,用户界面和后台服务会调用它来实现数据库操作。在完成用户界面设计、数据库设计和模块设计后,至此程序设计阶段基本完成。程序具体的功能需求包括四个功能模块注册登录功能模块,客户登记功能模块,房间预订功能模块,房间退订功能模块。程序的功能流程图31图31系统流程图32性能需求分析手机软件要有良好的用户体验,良好的用户体验体现在以下几个方面1界面友好用户界面要简洁直观,设计合理,方便用户操作,让用户操作起来比较舒服,并且UI视觉效应好。2快速响应快速处理用户的输入或请求,对于需要长时间处理的部分,在其处理时可以给用户一个提示,告知用户该软件正在运行。3无缝性一个常见的无缝问题就是一个应用的后台进程(如SERVICE或BROADCASTRECEIVER)对某事件作出响应而弹出对话框,这看起来并无大碍,特别是在模拟器上单独地构建和测试系统时。然而,应用在真正的设备上运行,后台线程显示对话框时,应用当时可能没有获得用户焦点。这就会出现应用会在活动的应用后面显示对话框,或者从当前应用中获得焦点并显示对话框的情况,而无论当时用户正在做什么(如正在打电话等)。那样的行为可能对应用或用户不起作用。为了避免这些问题,应用应该利用适当的系统资源NOTIFICATION类来通知用户。利用通知,应用可以通过在状态条上显示一个图标来通知用户事件已经发生,而非获得焦点和打断用户。33数据库需求分析数据结构组织和数据库文件设计要根据不同用途使用要求等,来决定数据的整体组织形式等。数据库,顾名思义,是存放数据的仓库。只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的。数据库中的数据按一定数据模型组织、描述和存储,具有较小的重复度、较高的数据独立性和易扩展性,并且可以被在一定范围内的各种用户共享。在涉及数据库的软件开发中,需要根据有待解决的问题性质、规模,以及所采用的前端程序创建工具等,做出合适的数据库类型选择,用户数据库是基于MYSQL建立。该系统数据库的建立是完全在ANDROID平台上执行JAVA代码,通过DVM编译来建立的,没有什么辅助工具,由于整个MYSQL数据库是非可视化操作,所有对数据库的操作都是通过执行JAVA代码实现,在完成其查询功能的时候没有使用数据库高级编程,较为麻烦的关节是在如何有机的将客户端数据库整体结构实现出来,实现过程是无可视界面,也没有数据库辅助工具情况下,整个过程很抽象。34安全需求ANDROID安全中的一个重要的设计点是在默认的情况下应用没有权限执行对其他应用程序,操作系统或用户的有害操作。这些操作包括读取用户的隐私数据,访问网络,保持设备活动等等,应用程序的进程是一个安全的黑盒子,在没有给它权限的时候它不能干扰其他应用程序。采用标准的开发流程确定系统具有用户管理功能,联系人增删改功能,通讯功能,查找功能,备份等功能。第四章功能设计41总体设计一个好的系统设计的步骤决定了程序是否能按照设计者的目的按时完成,是否能在规定的时间内按照设计者的要求高质量的完成程序必要的功能。并且按照标准的设计步骤对程序进行调试,测试,以及后期的优化完善,使程序更加具有健壮性和可用性。通过对酒店住房管理功能、系统模块、用户需求方面进行全方位的分析制定开发流程,开发流程如图41所示。图41开发流程图新客登记预定房间操作员登录基于ANDROID酒店预订软件的设计与实现顾客管理预定转入住房间设置图42系统功能图通过对系统的功能结构的分析,设计后系统运行流程是系统运行后用户将进入酒店住房管理主界面42系统功能设计根据手机功能调查显示,近十成消费者都会使用基于ANDROID平台下的酒店预订软件功能,随着基于ANDROID平台下的酒店预订软件功能的不断加强与完善,基于ANDROID平台下的酒店预订软件的意义,不再像以前买个录音机,而是向着个性化、人性化的方向发展。本项目具体功能设计包括用户的注册登陆,客户的创建,房间预订,退订四部分。用户的注册与登陆设计到数据库,用户通过在相应的框体中输入自己的相关信息通过提交的方式,后台自动执行SQLINSERT语句,实现数据库的数据录入,当成功注册之后,登陆操作时,系统会通过提取相应框体中的数据,数据库相对应的表中的数据进行比对,当数据匹配时,用户便登陆成功,两个数据不匹配,则登陆失败。客户创建与注册的运行机制是相同的,通过提交的方式执行数据库的插入语句,向相关表中插入新的数据。房间预订功,当客户选中心怡的房间时,提交订单,系统将执行UPDATE语句将房间的状态更新,将房间的状态改为占有状态。房间退订同上,客户欲退掉自己预订房间时,系统同样会执行一句更新语句,将房间的占有状态改为空闲状态。系统的功能设计通过上述四个模块的功能实现实现系统的总体的功能。43数据库设计关于数据库的设计首先必须设计数据库相关的表,建表的前提要画出表的ER图下面阐述具体表的ER图设计。431ER图用户一般只有两个属性分别是用户名,密码。数据库只有通过验证用户和密码的匹配才能使用户成功登陆如图43所示图43用户实体ER关于客户信息包含有客户姓名,身份证,邮箱,手机号四项,客户预订房间需要留下相关信息符合正常的酒店业务规定图44客户信息实体ER客户信息客户姓名身份证邮箱手机号用户用户名密码客房信息的属性有四项编号,描述,状态,类型。编号是每一个客房在系统中的唯一标识,客房描述,客房类型两项是希望通过描述向客户展示客房,无需客户亲自去客房查看,客房状态展示客房是否被预定。图45客房信息实体ER客房类型主要有编号,名称,价格,描述四项,编号为类型的一项标识,名称同上也是客房类型的标识之一,价格也就是向客户展示不同房间的不同价位,具体描述说明该类型房间有哪些特有的配置。图46客房类型ER预订信息的属性有四项预定号,客房号,起始日期,终止日期,通过四项属性展示一个预订订单的内容客房信息客房编号客房描述客房状态客房类型客房间类型类型编号类型名称类型价格类型描述图47预订信息ER432相关表设计本系统采用MYSQL数据库,创建数据库DB_HOTEL,其中包括有TB_ROOM,TB_COMSUMER,TB_PRICE三张表,详见建表语句及其表展示。创建数据库CREATEDATABASEDB_HOTELUSEDB_HOTEL创建三张表建表语句如下CREATETABLETB_ROOM_IDINTPRIMARYKEYAUTO_INCREMENTNOTNULL,ROOMCODEVARCHAR10NOTNULL,ROOMTYPEINTNOTNULL,ROOMSTATUSINTNOTNULL,ROOMDECTEXTNOTNULL,PRICETYPEINTNOTNULL详见表41表41TBROOM列名数据类型属性_IDINTNOTNULLROOMCODEVARCHAR10NOTNULLROOMTYPEINTNOTNULL预订信息预订号客房号起始日期终止日期ROOMSTATUSINTNUTNULLROOMDECINTNOTNULLPRICETYPEINTNOTNULLCREATETABLETB_CONSUMER_IDINTPRIMARYKEYAUTO_INCREMENTNOTNULL,CONSUMERNAMEVARCHAR15NOTNULL,PHONENUMBERVARCHAR15NOTNULL,ROOMCODEVARCHAR10NOTNULL,CONSUMBERIDCARDVARCHAR20NOTNULL,INTIMEVARCHAR25NOTNULL,OUTTIMEVARCHAR25NOTNULL详见表42表42TB_CONSUMER列名数据类型属性_IDINTNOTNULLCONSUMERNAMEVARCHAR15NOTNULLPHONENUMBERVARCHAR15NOTNULLROOMCODEVARCHAR10NOTNULLCONSUMBERIDCARDVARCHAR20NOTNULLINTIMEVARCHAR25NOTNULLOUTTIMEVARCHAR25NOTNULLCREATETABLETB_PRICE_IDINTPRIMARYKEYAUTO_INCREMENTNOTNULL,PRICETYPEINTNOTNULL,PRICENUMINTNOTNULL详见表43表42TB_PRICE列名数据类型属性_IDINTNOTNULLPRICETYPEINTNOTNULLPRICENUMINTNOTNULL433WEB服务器端设计本服务器端设计主要使用TOMCAT作为WEB端的应用服务器,TOMCAT是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选,深受广大程序员的喜爱。配置了数据源后,将项目的文件结构搭建好,在后面的开发中就可以直接将开发的代码放入相应的目录,具体步骤如下。(1)打开APACHETOMCAT6014RAR压缩包,将该压缩包解压到电脑的任意目录下。(2)将项目目录下的HOTELSERVER文件夹复制到TOMCAT中的WEBAPPS目录下。(3)介绍的服务器端应用目录结构如图48所示。图48项目目录图第五章酒店住房管理实现51ANDROID开发平台搭建ANDROID的上层应用程序是用JAVA语言开发,同时还需要基于DALVIK虚拟机,所以,GOOGLE公司推荐使用主流的JAVA继承开发环境ECLIPSE。只有ECLIPSE还不够,因为是使用JAVA语言进行开发,还应该有由SUN公司提供的JAVASDK其中包括JREJAVARUNTIMEENVIRONMENT。此外,ANDROID的应用程序开发和JAVA开发有较大区别的,所以还需要有GOOGLE提供的ANDROIDSDK。同时,还需要在ECLIPSE安装ADT,为ANDROID开发提供开发工具的升级或者变更,是ECLIPSE下开发工具的升级下载的工具。简言之,需要以下软件,才能搭建ANDROID开发环境,从而进行ANDROID应用程序的开发。1JAVASDK2ECLIPSE3ANDROIDSDK4ADTANDROID开发平台搭建步骤(1)首先到HTTP/WWWECLIPSEORG/DOWNLOADS/下载ECLIPSE集成开发环境并且解压,这里推荐下载JAVAEE集成版本

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论