基于Android的酒店预订系统设计与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

毕业设计说明书 基于Android 的酒店预订系统设计与实


系 名: 专 业:
2015年 4 月
信息商务学院 计算机科学与技术
摘要
随着人员流动规模的不断扩大,酒店数量的急剧增加,有关预定管理的各种信息量也在不断成倍增长。

面对庞大的信息量,就需要有酒店预定管理系统来提高预定管理工作的效率。

通过这样的系统,我们可以做到信息的规范管理和快速查询,从而减少了管理方面的工作量。

传统手工的预定信息管理,管理过程繁琐而复杂,执行效率低,并且易于出错。

通过这样的系统,我们可以做到信息的规范管理和快速查询,实现了预定信息管理的系统化、规范化和自动化,这样不仅减少了管理工作量,还提高了管理效率,降低了管理成本。

计算机具有运算速度快、正确、能按照设计逻辑处理问题等特性,在酒店个人入住信息的录入、管理中如采用一个计算机化的信息系统进行处理,就不会发生信息遗漏或者查询不方便的情形。

作为计算机应用的一部分,使用计算机对酒店信息进行管理,具有手工管理所无法比拟的优点。

例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高的效率,也是酒店科学化、正规化管理的重要条件。

因此,利用继承扩展性比较好的JSP以及MySQL数据库和MyEclipse 作为开发工具,开发这样一套管理软件成为很有必要的事情。

关键字:酒店预定管理系统Android,JSP,MyEclipse,MySQL.
Abstract
With 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引言 (1)
1.1 课题背景 (1)
1.2 国内发展现状 (1)
1.3本课题的开发方法 (2)
1.3.1 主要开发内容 (2)
1.3.2 主要开发思路 (3)
1.4 本系统的预期成果 (3)
2 项目方案及需求分析 (4)
2.1 系统结构方案选择 (4)
2.1.1 软件工程介绍 (4)
2.1.2 系统开发技术 (4)
2.2 体系结构 (7)
2.2.1 系统体系机构的一般阐述 (7)
2.2.2 C/S模式与B/S模式的分析比较 (8)
2.2.3 Android开发平台搭建 (9)
2.2.4 开发方案整体选择 (14)
2.3 系统可行性分析 (14)
2.3.1 经济可行性 (15)
2.3.2 技术可行性 (15)
2.3.3 操作可行性 (15)
2.4 系统需求分析 (15)
2.4.1 对系统的要求 (15)
2.4.2 基本功能 (16)
2.4.3 绘制用例图设计系统功能 (16)
2.4.4 绘制系统流程图 (16)
3 项目设计及开发 (17)
3.1 系统的主要设计框图 (17)
3.2 系统数据库模型设计 (17)
3.2.1 数据库设计概述 (17)
3.2.2 系统数据库设计 (17)
3.2.3 数据库表设计说明 (17)
3.3 主要模块及关键代码 (20)
3.3.1 系统开发环境及开发工具 (20)
3.3.2 系统运行环境 (20)
3.3.3 会员信息管理 (21)
3.3.4 预定信息管理 (25)
3.3.5 预订信息管理 (30)
3.3.6 入住信息管理 (33)
3.3.7 公告信息管理 (35)
3.3.9 前台用户注册 (36)
3.3.10 手机端模拟器启动中: (37)
3.3.11 手机端用户登录 (37)
4 系统测试 (39)
4.1 测试的重要性及目的 (39)
4.2 测试的步骤 (40)
参考文献 (41)
致谢 (42)
1引言
1.1 课题背景
酒店预定管理系统对酒店加强预定信息管理有着极其重要的作用,就一所预定数量较大的酒店来说,它的设计内容非常复杂而且繁多,比如拥有预定信息管理、预定类别信息管理、预定信息管理等功能,而且设计的模块也很多,比如用户信息管理模块、预定类型管理模块、预定信息管理模块、预定经营管理模块、客户信息查询模块、经营状况统计模块等等。

酒店预定管理系统是一个具有交互功能的人才信息管理系统,本系统的开发主要包括后台数据库的建立和维护以及前台程序的开发两个方面。

对于前者要求建立起数据一致性和完整性强、数据安全性好的库。

而对于后者则要求应用程序功能完备,易使用等特点。

该系统符合网站数据库开发的要求,对MySQL数据库管理系统、SQL 语言原理、JSP应用程序设计等进行了较深入的学习和应用,主要完成对网上信息管理系统的功能需求分析、功能模块划分、数据库设计,并由此设计了数据库结构和应用程序。

酒店预定管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。

对于前者要求建立起一个数据一致性和完整性强、数据安全性好的库;而对于后者则要求应用程序具有功能完备、使用简单等特点。

经过以上分析,我决定采用JSP语言开发该系统,前台:html网页,后台:java,数据库:MySQL,并且选择功能强大的MyEclipse为开发工具进行开发,Tomcat作为系统服务器。

实践证明:该系统经济、实用,具有良好的拓展性、稳定性、安全性、可靠性。

1.2 国内发展现状
酒店作为高层次的服务行业之一,最重要的就是要做到优质服务。

服务的安排、调度是否周到,客人的要求是否能迅速地得到满足,都直接影响到酒店的形象和声誉。

借助计算机技术来进行信息管理,并配合现代化的酒店管理经验和模式,可以极大地提高酒店的服务质量,获得更好的经济效益。

酒店信息化管理已成为酒店现代科学管理的重要内容,是酒店经营中必不可缺少的现代科学工具。

由此可见,一个好的酒店管理系统应该达到以下几个目标:
(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;数据库系统:MySQL
JDK环境: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所示:
图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菜单中的Help>Install New Software选项卡上的Available Software,点击右侧的Add,然后在Name框中填写Android,在Location框中选择上步下载的ADT文件,然后点击OK>Finish>Install All,这时关闭Eclipse再重新启动。

重启后选择Eclipse菜单中的Window>Preferences,在左侧的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为隐式意图。

相关文档
最新文档