毕业设计(论文)-基于Android的酒店预订系统设计与实现.doc_第1页
毕业设计(论文)-基于Android的酒店预订系统设计与实现.doc_第2页
毕业设计(论文)-基于Android的酒店预订系统设计与实现.doc_第3页
毕业设计(论文)-基于Android的酒店预订系统设计与实现.doc_第4页
毕业设计(论文)-基于Android的酒店预订系统设计与实现.doc_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计说明书基于Android的酒店预订系统设计与实现信息商务学院学生姓名: 学号: 电子与计算机科学技术学 院: 计算机科学与技术系 名: 专 业: 指导教师: 2015年 4 月第 1 页 共 2 页中北大学信息商务学院2015届毕业设计说明书摘 要随着人员流动规模的不断扩大,酒店数量的急剧增加,有关预定管理的各种信息量也在不断成倍增长。面对庞大的信息量,就需要有酒店预定管理系统来提高预定管理工作的效率。通过这样的系统,我们可以做到信息的规范管理和快速查询,从而减少了管理方面的工作量。传统手工的预定信息管理,管理过程繁琐而复杂,执行效率低,并且易于出错。通过这样的系统,我们可以做到信息的规范管理和快速查询,实现了预定信息管理的系统化、规范化和自动化,这样不仅减少了管理工作量,还提高了管理效率,降低了管理成本。计算机具有运算速度快、正确、能按照设计逻辑处理问题等特性,在酒店个人入住信息的录入、管理中如采用一个计算机化的信息系统进行处理,就不会发生信息遗漏或者查询不方便的情形。作为计算机应用的一部分,使用计算机对酒店信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高的效率,也是酒店科学化、正规化管理的重要条件。因此,利用继承扩展性比较好的JSP以及MySQL数据库和MyEclipse作为开发工具,开发这样一套管理软件成为很有必要的事情。关键字:酒店预定管理系统Android,JSP,MyEclipse,MySQL.全套设计加扣3012250582 AbstractWith the continuous expansion of the scale of personnel flow, a sharp increase in the number of hotels, the amount of various information about the rooms management has also been multiplied. Facing huge information content, needs to have the hotel rooms management system to improve the efficiency of the guest room management work. Through such a system, we can standardize information management and rapid query, thereby reducing the workload management. The guest room information management of traditional handmade, management cumbersome and complex process, low efficiency and easy to make mistakes. Through such a system, we can standardize information management and rapid query, to achieve a systematic, standardized rooms information management and automation, so that management not only reduces the workload, but also improve the management efficiency, reduce management cost.Computer with high speed, correct, can be designed in accordance with the logic processing problems, input, management in the hotel information such as the use of information in a computerized system for processing, the information would not have happened omissions or query inconvenient situation. As a part of computer application, use the computer to manage the hotel information, with manual management incomparable advantages. For example: the rapid retrieval and search for convenient, high reliability and large capacity storage, security and good, long life and low cost. These advantages can greatly improve the efficiency, but also an important condition for the hotel scientific and standardized management. Therefore, the use of inheritance scalability better JSP and MySQL database and MyEclipse as development tools, the development of such a set of management software has become very necessary thing.Key words:Hotail,Android,JSP,MyEclipse,MySQL.目 录1引 言11.1 课题背景11.2 国内发展现状11.3本课题的开发方法21.3.1 主要开发内容21.3.2 主要开发思路31.4 本系统的预期成果32 项目方案及需求分析42.1 系统结构方案选择42.1.1 软件工程介绍42.1.2 系统开发技术42.2 体系结构72.2.1 系统体系机构的一般阐述72.2.2 C/S模式与B/S模式的分析比较82.2.3 Android开发平台搭建92.2.4 开发方案整体选择142.3 系统可行性分析142.3.1 经济可行性152.3.2 技术可行性152.3.3 操作可行性152.4 系统需求分析152.4.1 对系统的要求152.4.2 基本功能162.4.3 绘制用例图设计系统功能162.4.4 绘制系统流程图163 项目设计及开发173.1 系统的主要设计框图173.2 系统数据库模型设计173.2.1 数据库设计概述173.2.2 系统数据库设计173.2.3 数据库表设计说明173.3 主要模块及关键代码203.3.1 系统开发环境及开发工具203.3.2 系统运行环境203.3.3 会员信息管理213.3.4 预定信息管理263.3.5 预订信息管理303.3.6 入住信息管理333.3.7 公告信息管理363.3.9 前台用户注册373.3.10 手机端模拟器启动中:373.3.11 手机端用户登录384 系统测试394.1 测试的重要性及目的394.2 测试的步骤39参考文献41致谢42第 1 页 共 2 页1引 言1.1 课题背景酒店预定管理系统对酒店加强预定信息管理有着极其重要的作用,就一所预定数量较大的酒店来说,它的设计内容非常复杂而且繁多,比如拥有预定信息管理、预定类别信息管理、预定信息管理等功能,而且设计的模块也很多,比如用户信息管理模块、预定类型管理模块、预定信息管理模块、预定经营管理模块、客户信息查询模块、经营状况统计模块等等。酒店预定管理系统是一个具有交互功能的人才信息管理系统,本系统的开发主要包括后台数据库的建立和维护以及前台程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。该系统符合网站数据库开发的要求,对MySQL数据库管理系统、SQL语言原理、JSP应用程序设计等进行了较深入的学习和应用,主要完成对网上信息管理系统的功能需求分析、功能模块划分、数据库设计,并由此设计了数据库结构和应用程序。酒店预定管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起一个数据一致性和完整性强、数据安全性好的库;而对于后者则要求应用程序具有功能完备、使用简单等特点。经过以上分析,我决定采用JSP语言开发该系统,前台:html网页,后台:java,数据库:MySQL,并且选择功能强大的MyEclipse为开发工具进行开发,Tomcat作为系统服务器。实践证明:该系统经济、实用,具有良好的拓展性、稳定性、安全性、可靠性。1.2 国内发展现状酒店作为高层次的服务行业之一,最重要的就是要做到优质服务。服务的安排、调度是否周到,客人的要求是否能迅速地得到满足,都直接影响到酒店的形象和声誉。借助计算机技术来进行信息管理,并配合现代化的酒店管理经验和模式,可以极大地提高酒店的服务质量,获得更好的经济效益。酒店信息化管理已成为酒店现代科学管理的重要内容,是酒店经营中必不可缺少的现代科学工具。由此可见,一个好的酒店管理系统应该达到以下几个目标:第 2 页 共 51 页(1).提高工作效率,减轻劳动强度。在酒店的日常工作中,每天都要完成对营业信息进行更新统计,提供查询服务,结算账单等大量的业务,用手工方式进行的话,不仅速度慢,需要的人手多,且出错的概率也大,而计算机管理则可以大大提高业务运作的速度和准确性,实现营业管理自动化。(2).提高了酒店经济效益,增加营业收入。完善的预定管理功能可防止有房不能出租或房间重订的情况出现,随时提供准确和最新的房态信息,从而可提高工作效率和预定出租率。客人费用的一次性结账,不仅减少了票据传送,而且避免了管理上的混乱。(3).提高了服务质量,可以为客人提供快捷、细致、周到的服务。操作人员只需敲击键盘,就可以办理客人入住、查询信息、结账等各项手续,并准确无误地记录客人的每笔消费记录,大大缩短客人办理手续时的等候时间,提高了服务质量。(4).信息透明,酒店营业情况一目了然,提高了经营者的决策水平。经营者可以通过对酒店经营状况及历史数据的分析,做出相关的经营决策,并加强对饭店运营的内部控制,为酒店未来的发展提供理论依据。1.3本课题的开发方法1.3.1 主要开发内容酒店预定管理系统管理系统是一种具有交互功能的信息管理系统,是在网络上建立的一个虚拟的管理系统。因此这必将是广泛应用的网络应用系统,本文会让开发人员更好的开发以及管理本项目,让网站管理人员大致了解网站的功能和流程。(1) 深入了解企业、社会在酒店预定管理系统的业务流程以及一些基本的需求和功能,在此基础上绘制用例图,完成酒店预定管理系统系统的需求说明书;(2) 借鉴一些书籍,学习和研究开发该系统的相关技术,如JSP项目开发、MySQL数据库、Web编程等等;(3) 具体实现酒店预定管理系统系统,包括分析和使用数据库,系统的详细设计。经过以上分析,本人决定将该系统分为以下几个模块:1. 系统管理模块,主要包括用户管理,权限管理,密码管理;2. 操作员管理模块,主要负责管理操作员基本信息的增删查改,分配操作员,操作员处理客户报告;3. 客人管理模块,主要处理客户基本信息,消费管理,入住信息;4. 房间管理:房型管理,登记。5. 预定,入住,消费,换房,退房,结账。6. 意见建议管理。1.3.2 主要开发思路本系统是一个功能完整的酒店预定管理系统系统,本系统首先要对用户的身份进行识别,只有合法用户才能进入系统,进入系统后,首先打开系统主窗体,在系统菜单栏可以选择导航链接进行不同的操作。酒店预定管理系统系统是一个受限系统,用户分为系统管理员和普通用户,普通用户只能负责用户基本操作,系统管理员还可以对普通用户授权,高级操作等。系统运行环境硬件环境:本系统运行的硬件环境如下: CPU:1G以上;内存:1024M以上;打印机软件开发环境:本系统软件开发环境如下:开发工具:MyEclipse10;数据库系统:MySQLJDK环境:JDK1.6; 运行平台:Windows系统开发方法:根据用户的实际情况和需要,最终决定采用在Windows 下使用JSP+SQL开发,利用spring框架,采用B/S结构。1.4 本系统的预期成果设计和实现酒店预定管理系统系统,使管理的工作系统化、 规范化和自动化,从而达到提高管理效率、降低成本的目的,本系统应达到如下目标:(1) 灵活的人机交互界面,操作简单方便,界面简洁美观 ;(2) 可以通过菜单、工具栏等灵活操作;(3) 对客户和操作员的信息互通提供相应的管理功能:(4) 查询方便,无论是按名称、操作员帐号其中任一项都可以进行有效查询;(5) 系统管理员可以对用户进行授权,系统运行稳定,安全可靠。2 项目方案及需求分析2.1 系统结构方案选择2.1.1 软件工程介绍软件工程(Software Engineering,简称SE)是一门综合性的交叉学科。它涉及计算机科学、工程科学、管理科学、数学等领域,是一门研究用工程化方法构建和维护有效的、使用的和高质量的软件系统的学科。计算机科学着重于原理和理论,而软件工程着重于如何建造一个软件系统。软件工程在软件开发过程中占有不可动摇的重要地位。一个软件从开始计划起,到废弃不用为止,称为软件生存周期。概括的说,软件生命周期由软件定义、软件开发和运行维护(也称软件维护)三个时期组成,每个时期又进一步划分成若干个阶段。软件定义时期的主要任务是分析用户要求,分析新系统的主要目标以及开发该系统的可行性。开发时期要完成设计和实现两大任务,通常有以下四个阶段组成:总体设计,详细设计,编码和单元测。运行和维护时期是软件生存周期的最后一个时期,软件人员在这一时期的主要任务是使软件持久地满足用户的需要。 “酒店预定管理系统系统”虽然只是一个比较小的项目,但是为了做的更规范,也应当尽量按照软件工程的指导来做,事实上,不管一个多小的工程,都是离不开软件工程的指导思想的。2.1.2 系统开发技术以J2EE为开发平台J2EE是由sun公司主持退出的一项中间件技术,旨在简化和规范多层分布式企业应用系统的开发和部署。中间件是一种独立的系统软件或者服务程序,他可以废分布式应用软件提供在各种技术间共享资源的平台。J2EE其实可以被理解为一组规范和指南。它定义了一个使用Java语言开发多层分布式企业应用系统的标准平台。J2EE标准的实施可显著地提高系统的可移植性、安全性、可伸缩性、负载平衡和可重用性。选择JSP作为开发语言JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,JSP技术是servlet技术的延伸,在基于Java的平台上广泛地使用,是进行JavaWeb开发的一种核心组件。JSP页面由HTML代码和嵌入在其中的Java脚本组成。用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。JSP技术的优势:(1)一次编写,到处运行。在这一点上Java比PHP更出色,在不同的系统平台上运行,代码不用做任何更改。(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统不是和运行。相比ASP/PHP的局限性是显而易见的。(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。(4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。选择基于MVC机制的Spring技术(1)MVC模式概述 MVC( Model-View-Controller)即模型-视图-控制器。MVC设计模式的思想就是把Web应用程序分为3个核心模块:模型(Model)、视图(View)、控制器(Controller)。Model层包括业务逻辑代码与数据库代码;View层包括数据的战士代码,如HTML、CSS样式、JSP标签等;Controller层连接Model层与View层,从Model层获取数据,送到View层显示。MVC的结构如图2.1所示: 控制器(Control)视图(View)模型(Model)控制器(Controller)选择视图用户请求状态查询通知数据更新业务处理图2.1 MVC结构MVC作为一种分层规定、模块化的设计思想,它的优点有以下几方面:模型可以被重用;模型是自包含的,它与视图和控制器相独立;控制器提高了应用程序的灵猴性和可配置性。(2)Spring架构概述Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。Spring 框架提供了构建 Web应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和 POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。轻量从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。控制反转Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。 面向切面Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的完成业务逻辑仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。容器Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。框架Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。 Spring作为一种优良的J2EE框架,之所以在Java社区具有如此大的影响力,主要由于其具有以下特性:控制反转(IoC )思想;可扩展性;与其他框架无缝融合;能够替代EJB;实现了MVC2。(3)选择MySQL作为后台数据库MySQL是一个开源数据库,它性能非常好,并且很快捷,常被一些中小企业使用。MySQL是一个关系数据库管理系统(RDBMS,database management system)。MySQL包括安装该程序、建立不同级别的用户访问、管理该系统、保护并备份数据所需要的一切。可以用当即使用的大多数编程语言来开发数据库应用程序,并在大多数操作系统上运行它们。MySQL使用结构化查询语言(SQL ,Structured Query Language),所有的关系数据库都使用该语言。SQL是Structured Quevy Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。 2.2 体系结构2.2.1 系统体系机构的一般阐述MIS系统平台结构模式大体上分为4种:主机终端模式、文件服务器模式、客户机/服务器模式(Clint/Server,简称C/S)、web浏览器/服务器模式(Browser/Server,简称B/S)。主机终端模式由于硬件选择有限,已被逐步淘汰。而文件服务器模式由于硬件选择有限,硬件投资得不到保证,已被逐步淘汰。而文件服务器模式只适合小规模的局域网,对于用户多,数据量大的情况就会产生网络瓶颈,特别是在互联网上不能满足用户要求。因此,现代企业级平台结构模式应主要考虑C/S模式和B/S模式。2.2.2 C/S模式与B/S模式的分析比较C/S模式及其特点C/S(Client/Server)结构,即客户机和服务器结构。C/S模式主要由客户应用程序(Client)、服务器管理程序(Server)和中间件(middleware)三个部件组成。客户应用程序是系统中用户与数据进行交互的部件。服务器程序负责有效地管理系统资源,如管理一个信息数据库,其主要工作是当多个客户并发地请求服务器上的相同资源时,对这些资源进行最优化管理。中间件负责联结客户应用程序与服务器管理程序,协同完成一个作业,以满足用户查询管理数据的要求。对于C/S模式而言,其主要特点为:1.C/S模式将应用与服务分离,系统具有稳定性和灵活性;2.C/S模式配备的是点对点的结构模式,适用于局域网,有可靠的安全性;3.由于客户端实现与服务器端的直接连接,没有中间环节,因此响应速度快;4.在C/S模式中,作为客户机的计算机都要安装客户机程序,一旦软件系统升级,每台客户机都要安装客户机程序,系统升级和维护较为复杂。B/S模式及其特点B/S模式即Brower/Server结构模式,是基于Internet/Intranet的结构模式,分为三层,第一层为表示层,用户通过浏览器完成和后台的交互及最终查询结果的输出功能。第二层为具有ODBC接口的WEB服务器,属功能层,主要利用服务器完成客户的应用功能。第三层为数据层,根据客户的请求独立地进行各种运算。即前台客户端采用浏览器,中间件服务器为Web服务器,后台为数据库服务器。此种结构由客户端在Web页面发出请求至Web Sever,再由Web Sever向数据库服务器发出请求,而最后中间件服务器接受到数据库服务器的应答后,最终返回给客户端的仍然是页面形式。这样实现了客户端不直接和数据库服务器发生关系,保证了数据安全性。对Browse/Server模式而言,其主要特点为:用户使用方便其在逻辑上采用了3层结构,它在前台Browse和后台Server之间增加了一层Web Server层,所有的应用程序模块都安装在它上面,在Browse上只需安装一个通用的浏览器软件,因此,这种模式简化了客户端,使用户的操作更加方便。系统开发、维护、升级方便每当服务器应用程序升级时,只要在服务器上升级服务应用程序即可,用户计算机上的浏览器软件不需要修改,系统开发和升级维护方便。B/S模式具有很强的开放性在B/S模式下,用户通过通用的浏览器进行访问,系统开放性好。B/S模式的结构易于扩展由于Web的平台无关性,B/S模式的结构可以任意扩展,可以从包含一台服务器和几个用户的小型系统扩展成为拥有成千上万个用户的大型系统。根据发展需要,可对系统随时进行扩展,降低了系统的开发和维护的开销 。鉴于B/S相对于C/S的先进性,在某些方面相对于C/S的巨大改进,使B/S成了MIS系统平台的首选,也使人忽略了B/S不成熟的一面,以及C/S所固有的一些优点。各软件公司纷纷推出自己的Internet方案,基于Web的财务系统、基于Web的ERP。一些企业已经领先一步开始使用它,并且收到了一定的成效。2.2.3 Android开发环境介绍Android平台使用Java编程语言来开发应用程序,而Android提供了对Java的核心支持。考虑到Java虚拟机的执行效率和占用资源情况,Google重新设计了Java的编译器,命名为Dalvik。Dalvik是经过优化的Java编译器,允许在有限的内存中同时运行多个虚拟机的实例,并且每一个Dalvik应用作为一个独立的Linux进程执行,独立的进程可以防止在虚拟机崩溃的时候所有程序都被关闭。项目的开发在Eclipse环境中进行,由于进行的是Android应用程序的开发,需要在Eclipse安装ADT插件,即Android开发工具,这样Eclipse就可以和Android SDK建立连接,在Eclipse中启动Android模拟器、调试程序等工作。由以上分析可知,Android平台的搭建需要Android SDK、Java SDK、Eclipse和ADT四个软件。2.2.3 Android开发平台搭建在进行Android应用程序的开发前,要先搭建Android平台,然后才能在开发环境中进行编程。根据官方指导,对Android平台的搭建过程介绍如下:首先,在官方网址上下载JDK6.0并安装,安装后设置系统环境变量JAVA_HOME、CLASS_PATH、PATH的值;然后,在官方网址上下载更新的SDK进行安装,下载完后解压到指定文件夹,启动SDK Manager进行安装,选择需要的Android版本,然后更新,这次更新需要的时间比较慢,所以更新前要做好准备。安装完成后,将ADB命令所在的目录platform-tools的完整路径添加到系统的环境变量PATH中,就能够在命令中使用ADB命令了;接下来要安装的是ADT插件,即Android开发工具。因为ADT在线安装容易遇到问题,增加一些不必要的麻烦所以需要下载后在本地安装。下载存放在指定的位置以便后面使用;最后,下载Eclipse,建议选择Eclipse3.4以上版本,解压到指定位置后运行。选择Eclipse菜单中的HelpInstall New Software选项卡上的Available Software,点击右侧的Add,然后在Name框中填写Android,在Location框中选择上步下载的ADT文件,然后点击OKFinishInstall All,这时关闭Eclipse再重新启动。重启后选择Eclipse菜单中的WindowPreferences,在左侧的Android项目中SDK Location中填入Android SDK解压后的目录,然后点击Apply。这样,整个平台的搭建工作就完成了。Activity:在Android应用程序中,一个活动Activity通常就是一个单独的界面。每一个界面都被实现为一个独立的类,并且从Activity基类中继承而来,Activity将会显示由空间组成的用户接口,并对事件做出响应。大多数的应用都是由多个Activity显示组成。这里的每一个界面就是一个Activity,很容易是从一个界面到一个新的界面,并且完成新的Activity。当一个新的界面打开后,前一个界面将会暂停,并保留在历史栈中。用户可以返回到历史栈中的前一个界面,当界面不再使用时,从历史栈中删除。简单理解,Activity代表一个用户所能看到的界面,主要用于处理应用程序的整体性工作,例如,监听系统事件(按键事件、触摸屏事件等),为用户显示指定的View,启动其他Activity等。所有应用的Activity都继承于android.app.Activity类,该类是Android提供的基层类,其他的Activity继承该父类后,通过父类的方法实现各种功能,这种设计在其他领域也较为常见。Intent:Android基本的设计理念是鼓励减少组件间的耦合,因此Android提供了Intent(意图),Intent提供了一种通用的消息系统,它允许在你的应用程序与其他的应用程序间传递Intent来执行动作和产生时间。使用Intent可以激活Android应用的三个核心组件:活动、服务和广播接收器。Intent可以划分为显示意图和隐式意图。显示意图调用Intent。SetClass方法明确制定了组件名的Intent为显示意图,显示意图明确制定了Intent应该传递给那个组件,在同一个应用内部使用的。隐式意图没有明确指定组件名的Intent为隐式意图。Android系统会根据隐式意图中设置的动作(action)、类别(category)、数据(URI和数据类型)找到最合适的组件来处理这个意图。Intent负责对应用中一次操作的动作、动作涉及数据和附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。因此,Intent在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的结构。Service:如果把Activity比喻为前台程序,那么Service就是后台程序,Service的整个生命周期都只会在后台执行。Service跟 Activity一样也由Intent调用。由于Service在后台运行,所以没有界面,用来处理耗时比较长,而且Service不是一个单独的进程,也不是一个单独的线程。Service有两种类型:本地服务(Local Service):用于应用程序内部;远程服务(Remote Sercie):用于android系统内部的应用程序之间;前者用于实现应用程序自己的一些耗时任务,比如查询升级信息,并不占用应用程序比如Activity所属线程,而是单开线程后台执行,这样用户体验比较好。后者可被其他应用程序复用。Service的生命周期,Service有startService和bindService两种启动Service方法,每种方法Service的生命周期是不一样的。(1)通过startService() Service会经历 onCreate - onStartCommand(),stopService的时候直接onDestroy,如果是调用者直接退出而没有调用stopService的话,Service会一直在后台运行,下次调用者再起来仍然可以stopService;(2)通过bindService() Service只会运行onCreate()-onBind() 这个时候调用者和Service绑定在一起 unbindService的时候onUnbind() - onDestroyed(),调用者退出了,Srevice就会调用onUnbind() - onDestroyed()。在这里需要注意的是Service的onCreate的方法只会被调用一次,就是你无论多少次的startService又 bindService,Service只被创建一次。如果先是bind了,那么start的时候就直接运行Service的onStart方法,如果先是start,那么bind的时候就直接运行onBind方法。如果你先bind上了,就stop不掉了,只能先UnbindService, 再StopService,所以是先start还是先bind行为是有区别的。Layout布局:布局方式有很多种,比如线性布局(Linear Layout)、相对布局(Relative Layout)、表格布局(Table Layout)、网格视图(Grid View)、标签布局(Tab Layout)、列表视图(List View)和绝对布局(Absolute Layout)。本文设计主要采用线性布局(Linear Layout),所以就线性布局我们来做简单地介绍。线性布局 LinearLayout:线性布局是所用布局中最常用的方式之一,RadioGroup, TabWidget,TableLayout,TableRow,ZoomControls类的父类。LinearLayout可以让它的子元素垂直或水平的方式排成一行(不设置方向的时候默认按照垂直方向排列)。LinearLayout以你为它设置的垂直或水平的属性值,来排列所有的子元素。所有的子元素都被堆放在其它元素之后,因此一个垂直列表的每一行只会有一个元素,而不管他们有多宽,而一个水平列表将会只有一个行高(高度为最高子元素的高度加上边框高度)。LinearLayout保持子元素之间的间隔以及互相对齐(相对一个元素的右对齐、中间对齐或者左对齐)。LinearLayout还支持为单独的子元素指定weight 。好处就是允许子元素可以填充屏幕上的剩余空间。这也避免了在一个大屏幕中,一串小对象挤成一堆的情况,而是允许他们放大填充空白。子元素指定一个weight 值,剩余的空间就会按这些子元素指定的weight比例分配给这些子元素。默认的weight值为0。例如,如果有三个文本框,其中两个指定了weight值为1,那么,这两个文本框将等比例地放大,并填满剩余的空间,而第三个文本框不会放大。控件介绍:TextView 文本控件,可以用它来显示文字,就像一个标签一样,或者你可以认为是html中的span。对于TextView是怎么设置显示的文本,怎样设置字体的大小,字体的颜色,字体的样式。TextView包含以下子类:Button, CheckedTextView,Chronometer,DigitalClock,EditText。以下简单介绍TextView的属性: android:id 控件的标识符 android:layout_width 设置控件的宽度 android:layout_height 设置控件的高度 android:layout_marginTop 设置文本的上外边距 android:textSize 设置文本文字的的大小 android:paddingLeft 设置元素左内边距1. Button 按钮控件,在button内部可以放置内容,比如文本或图像。与标签之间的所有内容都是按钮的内容,其中包括任何可接受的正文内容,比如文本或或多媒体。比如,我们可以在按钮中包括了一个图像和相关的文本,用它们在按钮中创建一个吸引人的标记图像。不过button禁止使用的元素是图像映射,因为它对鼠标和键盘敏感的动作会干扰表单按钮的行为。以下简单介绍Button的属性: android:id 控件的标识符 android:layout_width 设置按钮的宽度 android:layout_height 设置按钮的高度 android:textSize 设置按钮里文字的大小 android:layout_marginTop 设置按钮的上外边距 android:text 设置按钮中的文字 android:visibility 设置按钮里的元素是否可见2. EditText 文本编辑框,TextView的直接子类,所以EditText会继成父类TextView的一些方法。在布局中配置EditText也需同时配置一个Button,这样可以在代码中监听Button的事件,以便获取当前在EditView中输入的内容并且显示出来。在EditView可以限制输入的字符串类型。以下简单介绍EditText的属性: android:id 控件的标识符 android:layout_width 设置输入框的宽度 android:layout_height 设置输入框的高度 android:layout_weight 设置输入框占父控件的比例 android:inputType 设置输入框内的字符串类型 android:hint 设置在输入框输入内容前默认的文字3. ImageView 标签可以显示任意图像,例如图标。ImageView类可以加载各种来源的图片(如资源或图片库),需要计算图像的尺寸,以便它可以在其他布局中使用,并提供例如缩放和着色等各种显示选项,在本文用来显示预定图片。以下简为ImageView的属性: android:id 设置图片的标识符 android:layout_width 设置图片的宽度 android:layout_height 设置图片的高度 android:visibility 设置图片是否可见性4. ProgressBar 进度条控件,通常在应用程序执行诸如复制文件或打印文档等任务时使用。如果没有视觉提示,应用程序的用户可能会认为应用程序不响应。通过在应用程序中使用 ProgressBar,可以警告用户应用程序正在执行冗长的任务且应用程序仍在响应。以下简单介绍ProgressBar的属性: android:max 设置进度条的最大进度值 android:progress 设置进度条初始化的进度值 android:secondaryProgress 设置二级进度条的值 android:layout_gravity 设置进度条位置 android:style 设置进度条的风格是长方形还是圆形5. CheckBox 复选框,通常用于某选项的打开或关闭,可以选择任意数目的复选框;6. RadioButton 单选框,为用户提供由两个或多个互斥选项组成的选项集。虽然单选按钮和复选框看似功能类似,却存在重要差异:当用户选择某单选按钮时,同一组中的其他单选按钮不能同时选定。相反,却可以选择任意数目的复选框。定义单选按钮组将告诉用户,这里有一组选项,您可以从中选择一个且只能选择一个。2.2.4 开发方案整体选择根据用户的实际情况和需要,最终决定采用在Windows 下利用spring框架,使用JSP+SQL开发,采用B/S结构。这样的好处是:1.使用JSP+SQL灵活方便,可扩充性、可移植性较好。2.spring框架有利于降低开发成本,整和个类框架,方便测试,统一配置,灵活扩展。3.客户端可以选择安卓平台发布,用户可以在手机端下订单。4.后台管理采用 B/S结构是能充分发挥客户端的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。2.3 系统可行性分析为了给软件开发者提供是否进行项目实施的参考依据,现分析项目的风险、项目需要的投资以及效益。2.3.1 经济可行性酒店预定管理系统系统是一个小型的管理系统, 在开发时需要软件开发人员花费一定的时间和精力,因此需要一定的资金。开发、运行和维护费用主要包括:购买和安装设备的费用:计算机硬件、系统软件、 机房、电源等;但它给企业带来的利润是不可估量的,节省了许多人力,物力上的开支,使资产管理工作变繁为简,使其更加合理化、规范化。工作效率的提高就意为着整体水平的提高,是非常值得投资的。2.3.2 技术可行性技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是

温馨提示

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

评论

0/150

提交评论