基于Android手机美食外卖系统的设计与实现(共27页)_第1页
基于Android手机美食外卖系统的设计与实现(共27页)_第2页
基于Android手机美食外卖系统的设计与实现(共27页)_第3页
基于Android手机美食外卖系统的设计与实现(共27页)_第4页
基于Android手机美食外卖系统的设计与实现(共27页)_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上毕业设计论文快餐运营管理方案徐浩然学生姓名: 学号: 计算机技术与工程学院 系 名: 专 业: 电子商务 孙悦指导教师: 2016年 4 月专心-专注-专业摘 要随着社会的不断向前发展,人们的生活质量不断提高,使得人们的消费水平也不断提升。现如今人们进入各大饭店消费的次数也在不断增加,为了提高饭店的竞争力,各大饭店从多方面来提升自己的服务水平。经过走访发现当下很多饭店,在中午及晚餐时间段,由于顾客较多,饭店服务员及桌位有限,使得顾客到店经常需要排队等待,并且只有在进入饭店入座后才能点餐。有时顾客等待时间过长,会有选择其他饭店的现象,这对于饭店的竞争力是非常不利的。所以

2、笔者开发了Android手机终端点菜系统,借由这种新型方式提高餐饮业的竞争力,这种点菜系统使人们到达饭店后可以及时点菜,当顾客入座后即可就餐,提高了饭店为顾客服务的速度和质量,为消费者和饭店都提供了便捷的服务。另外,这种点菜系统给人们带来了新鲜感,使其能更好的享受酒店餐饮的服务。为适应市场的需求,研究和开发一款基于Android手机终端点菜系统是非常必要和迫切的。本文阐述了Android美食外卖系统设计与实现过程,本软件是用当下流行的android操作系统开发的,利用Android SDK、Eclipse搭建集成开发环境,JAVA语言编写系统功能模块,并采用轻便的SqLite数据库来存储相关信

3、息,由此开发出一套完整的点菜系统,Android手机终端点菜系统包括顾客的登录注册、菜谱的查询、点餐、发送订单等功能。关键字:美食外卖,Android,信息技术,MySQL.AbstractWith the continuous development of society, people's life quality rise ceaselessly, make people's consumption level is also rising. Nowadays the number of people entering the hotel consumption is a

4、lso increasing, in order to improve the competitiveness of the hotel, the hotel in many ways to improve their service level. After visiting found the many restaurants, at noon and dinner time, because the customer is more, the hotel waiter and limited table, allows customers to shop often need to wa

5、it in line, and only after entering the restaurant table to order. Sometimes the customer waiting time is too long, there will be a choose other hotel phenomenon, this is very adverse to the competitiveness of the hotel. So the author developed the Android mobile terminal order system, by this new w

6、ay to improve the competitiveness of the industry, this kind of order system make people arrived at the hotel can in time order, when repast, after the customer table to improve the speed and quality of hotel service for the customer, and hotel provides convenient service for consumers. In addition,

7、 this kind of order system brings the freshness, make its can better enjoy the hotel catering service. In order to adapt to the demand of the market, research and develop a based on Android mobile terminal order system is very necessary and urgent. This paper expounds the Android mobile phone reserv

8、ation system design and implementation process, the software is developed in the present popular Android operating system, using the Android SDK and Eclipse integrated development environment setup, JAVA language system function module, and USES the lightweight SqLite database to store information,

9、and thus developed a set of complete order system, the Android mobile terminal order system including customer login registration, recipes, query, order and send the order, and other functions.Key words: Elective system Android, information technology, MySQL.目 录1引 言1.1 课题背景随着手机应用软件的发展,人们更期盼可以借助手机来实现

10、高效便捷的点菜,同时商家也希望可以通过高科技产品来提高自己的管理和服务质量。因此,开发一套基于android平台的手机点菜系统。Android平台是当前最流行的手机软件开发平台,基于Android平台的智能手机己经在市场上成功地应用,并在不断占领市场,技术不断完善。这样一套基于android平台的手机点菜系统是完全可行的,这样一款手机终端点菜系统对于提高酒店餐饮业的服务质量的效果是非常明显的,给顾客带来了便捷和良好的服务,是吸引顾客必不可少的软件。Android点菜系统是基于android手机的一款网络应用软件,目的在于为餐馆用户和餐馆提供极大的便利。应用此软件,用户可以通过客户端轻松便捷地实

11、现自己的点菜要求,同时系统的服务端可以为餐馆提供点菜管理,收银管理和座位预定等功能,并且餐馆可以通过对点菜数据的再分析来进一步提高自己的服务质量1.2 国内发展现状与国外android应用开发相比,国内的应用开发具有起步较晚发展迅速但是涉及面广泛等特点。其中就点菜软件方面来看,目前国内餐饮企业对电子菜单这类点菜软件的关注还是比较少的,因此国内的一些点菜软件如点菜宝,电子菜谱等都不太成熟。它们只能显示菜品的图片和价格。简单地说,这些软件只是一些图片显示软件而已。只是将传统的纸质菜单搬移到电子设备上,并没有给传统的点菜过程带来太多的创新,也没为餐厅的管理带来便利。而顾客的体验没有得到提升。在国外,

12、由于起步早和餐饮企业对这类技术比较认可。因此,这类点菜软件比较成熟。国外的点菜软件能让顾客自主完成点菜,而不用通过服务员。软件与厨房客户端通过网络连在一起,顾客点完菜后,厨房马上就能收到并开始烹饪。除此之外,软件还有比较人性化的推荐功能,它能根据顾客以前的点菜记录为顾客推荐菜品。随着科学技术的发展,二十一世纪已经是一个集数字化,网络化,信息化的时代,与之相关的产品也备受消费者的喜爱。同时以android为操作系统的手机在我国被广泛使用,因此对android手机终端点菜系统的开发可以为餐饮企业带来极大的便利和商机。通常情况,餐厅点餐、送单、结账都采用人工传递,这种工作效率低下,而且在餐馆人流高峰

13、期间,服务员在快速手写点餐、人工送单工程中还会经常发生误操作,影响到整个服务效率和服务质量,而且手工的下单的数据很难被餐馆收集后再分析,这样就不能及时得到客人对菜品的喜好和对餐馆的建议信息等,不利于餐馆进一步提高自己的服务质量。现在随着技术发展和一些消费者偏好的变化,一些规模较大的餐厅已经开始开发自己的android应用软件,一方面迎合消费者多样性需求,另一方面也提高品牌形象和行业竞争力。1.3本课题的开发方法1.3.1 主要开发内容本软件是为当下流行的android操作系统开发的,利用Android SDK、Eclipse搭建集成开发环境,JAVA语言编写系统功能模块,并采用轻便的SqLit

14、e数据库来存储相关信息,完成一个完整的点菜系统中的客户端部分。Android手机终端点菜系统包括顾客的登录注册、菜谱的查询、点餐、发送订单、浏览历史记录等功能,使顾客可以更好的享受在饭店就餐的整个过程。本软件的开发目标是实现一个消费者可以自行点餐的系统,本系统的使用者分为两类,分别是消费者和管理员,为消费者提供的功能是登录、查询菜单、查看菜品详情及点餐等的系统,为操作者提供的功能是增加、删除菜品、统计评分、查询消费者的点餐情况等等。通过本软件是设计与实现,可以减少顾客等待时间,并且可以减少由于服务人员的服务水平不同引起的服务不到位的现象,提高了饭店的竞争力,吸引了顾客; 1.3.2 主要开发思

15、路本系统是一个功能完整的手机点餐系统系统,本系统首先要对用户的身份进行识别,只有合法用户才能进入系统,进入系统后,首先打开系统主界面,在系统菜单栏可以选择导航链接进行不同的操作。系统运行环境硬件环境:本系统运行的硬件环境如下: CPU:1G以上;内存:1024M以上;打印机软件开发环境:本系统软件开发环境如下:开发工具:MyEclipse10;数据库系统:MySQLJDK环境:JDK1.6; 运行平台:Windows,Android模拟器;系统开发方法:根据用户的实际情况和需要,最终决定采用在Windows 下使用Java和Android SDK开发,采用B/S结构。1.4 本系统的预期成果设

16、计和实现手机点餐,使管理的工作系统化、 规范化和自动化,从而达到提高管理效率、降低成本的目的,本系统应达到如下目标:(1) 灵活的人机交互界面,操作简单方便,界面简洁美观 ;(2) 可以通过菜单、工具栏等灵活操作;(3) 系统管理员可以对用户进行管理,系统运行稳定,安全可靠。2 项目方案及需求分析2.1 系统结构方案选择2.1.1 软件工程介绍软件工程(Software Engineering,简称SE)是一门综合性的交叉学科。它涉及计算机科学、工程科学、管理科学、数学等领域,是一门研究用工程化方法构建和维护有效的、使用的和高质量的软件系统的学科。计算机科学着重于原理和理论,而软件工程着重于如

17、何建造一个软件系统。软件工程在软件开发过程中占有不可动摇的重要地位。一个软件从开始计划起,到废弃不用为止,称为软件生存周期。概括的说,软件生命周期由软件定义、软件开发和运行维护(也称软件维护)三个时期组成,每个时期又进一步划分成若干个阶段。软件定义时期的主要任务是分析用户要求,分析新系统的主要目标以及开发该系统的可行性。开发时期要完成设计和实现两大任务,通常有以下四个阶段组成:总体设计,详细设计,编码和单元测。运行和维护时期是软件生存周期的最后一个时期,软件人员在这一时期的主要任务是使软件持久地满足用户的需要。 “美食外卖系统”虽然只是一个比较小的项目,但是为了做的更规范,也应当尽量按照软件工

18、程的指导来做,事实上,不管一个多小的工程,都是离不开软件工程的指导思想的。2.1.2 系统开发技术以J2EE为开发平台J2EE是由sun公司主持退出的一项中间件技术,旨在简化和规范多层分布式企业应用系统的开发和部署。中间件是一种独立的系统软件或者服务程序,他可以废分布式应用软件提供在各种技术间共享资源的平台。J2EE其实可以被理解为一组规范和指南。它定义了一个使用Java语言开发多层分布式企业应用系统的标准平台。J2EE标准的实施可显著地提高系统的可移植性、安全性、可伸缩性、负载平衡和可重用性。 (1)选择MySQL作为后台数据库MySQL是一个开源数据库,它性能非常好,并且很快捷,常被一些中

19、小企业使用。MySQL是一个关系数据库管理系统(RDBMS,database management system)。MySQL包括安装该程序、建立不同级别的用户访问、管理该系统、保护并备份数据所需要的一切。可以用当即使用的大多数编程语言来开发数据库应用程序,并在大多数操作系统上运行它们。MySQL使用结构化查询语言(SQL ,Structured Query Language),所有的关系数据库都使用该语言。SQL是Structured Quevy Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令

20、,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。 (2)Adndroid平台介绍Android-基于Linux内核的智能机平台上的一种操作系统,在Android上市仅两年时间后,它便超过塞班系统而跃居全球手机市场第一的位置,在中国市场的占有率达到90%,并扩张到平板电脑等其它移动设备领域迅速发展。Android平台因为开放性使得这个平台具有非常好的发展前景。主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。Android操作系统最初由Andy Rubin开发,主要支持手机。

21、 2013年底,Android平台手机已占据了全球市场的78.1%的份额。最初,提到Android一词首先想到的是机器人,这也是它的本意。同时Android也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,由操作系统、中间件、用户界面和应用软件组成该平台。Android构建在开源代码的框架之上,并且提供强大的SDK库和开放的理念的特点,使得它为广大没有开发任何移动应用程序经验的新手开辟了一条开发移动应用程序的方便之路。而富有经验的移动开发人员现在也可以方便地扩展到Android平台上来,利用它独特的功能来改进现有产品或者开发其他新颖产品。Android的系

22、统架构和其操作系统一样,采用了分层的架构。从架构图看,Android分为四个层,由高到低的顺序是应用程序层、应用程序框架层、系统运行库层和Linux内核层。Android开发中有四大组件分别是:1) 活动(Activity): 用于表现功能。2) 服务(Service): 后台运行服务,不提供界面呈现。3) 广播接收(BroadcastReceiver):用于接收广播。4) 内容提供商(Content Provider): 支持在多个应用中存储和读取数据,相当于数据库。Android还有其平台优势。Android平台优势首先就是其开放性,Android平台允许任何移动终端厂商加入到Androi

23、d联盟中来。显著的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。其次是其丰富的硬件,这一点还是与Android平台的开放性相关,由于Android的开放性,造成的结果自然是众多的厂商会推出千奇百怪,功能特色各具的多种产品。功能上的差异和特色,却不会影响到数据同步、甚至软件的兼容,如同从诺基亚Symbian风格手机一下改用苹果iPhone,同时还可将Symbian中优秀的软件带到iPhone上使用、联系人等资料更是可以方便地转移。最后是方便开发,Android平台提供给第三方开发商一个十分宽泛、自由的环境,不会受到各种条条框框的阻扰,可想而知,会有多少

24、新颖别致的软件会诞生。Android系统的开源性能为无疑是Android快速占领市场的一个重要因素,Android系统的开源行为用户提供了很多的便利,首先是系统的拓展性优势,只要有开发代码的知识和能力就可以自己开发和拓展各种自己需要的软件,还能提供一种市场盈利的有效途径,最让人无法抵御的是在于Android手机系统的开放性和服务免费。Android是一个第三方软件完全开发的平台,开发者开发程序拥有更大的自由度,突破了iPhone等只能添加位数不多的固定软件枷锁,并且Android操作系统免费性为开发人员节省了将近三成的成本。Android应用软件发展现状与前景分析: Android系统自其推出

25、,就以明显的优势迅速扩大自己的市场份额,尤其在国外,其呼声日高,正处于蓬勃发展阶段。据美国某市场调研机构2012年发布的一份最新报告显示。2012年一季度在美国,基于Android系统的智能手机的销售量已占据全美手机销售量的28%份额,而大名顶顶的IPhone手机其市场份额紧追其后,占到21%的市场份额,已经确定了Android系统的市场占有比。据业内人士分析,随着Android系统相应软件的不断开发应用,选择Android系统手机或者无线终端设备的人会越来越多,其市场霸主的地位在更新更好的系统出现之前是不可动摇地。  中国是世界上最大的手机销费国。由于3G业务的不断推广,

26、对整个手机业起大了巨大的促进作用,当前国内手机市场正在快速向智能手机推进,而Android系统无疑是最大的市场需求。各大中小型手机制造商近两年都在引入Android工程师,开发基于Android系统的智能手机。  未来基于Android系统的应用软件将进入飞速发展的全新阶段。Android系统的应用绝不仅局限于手机产业,几年来其迅速扩张到相关领域,例如平板电脑、车载系统、电视STB、智能电器、智能会议系统等。目前,各IT厂商都在努力的研发前沿应用软件,以期在Android系统发展这一群雄逐鹿的关键阶段,占领更多的市场份额。  Android应用软件的开发

27、技术不是孤立的,它不仅要掌握Android三层框架同时,也必须融合Java层框架内的通信机制、 Java与C/C+整合开发的技术、核心服务框架的关键机制、HAL驱动框架及其API、云服务(Cloud Service)框架及其API等技术。移动应用分析公司Flurry最新报告指出,仅从今年1月到10月期间,国内的Android应用下载总量就较去年全年增长了870%。但同时,仅有20%的应用来自于Google官方的Android Market。Android应用市场现状: 基于Android平台自身的开放特性,更多的参与者脱离Google,建立起一个个小型的生态系统。在国内,以运营商、终端厂商以及

28、第三方应用为主的应用市场超过70家,移动广告联盟超过30家,相关论坛大概在10万的数量级别。同时,以、360为代表的传统互联网巨头也开始对这个市场虎视眈眈。 尽管Google仍未透露将在何时以何种方式进入中国,但目前的竞争环境已足以有了白热化的趋势。2.2 体系结构2.2.1 系统体系机构的一般阐述MIS系统平台结构模式大体上分为4种:主机终端模式、文件服务器模式、客户机/服务器模式(Clint/Server,简称C/S)、web浏览器/服务器模式(Browser/Server,简称B/S)。主机终端模式由于硬件选择有限,已被逐步淘汰。而文件服务器模式由于硬件选择有限,硬件投资得不到保证,已被

29、逐步淘汰。而文件服务器模式只适合小规模的局域网,对于用户多,数据量大的情况就会产生网络瓶颈,特别是在互联网上不能满足用户要求。因此,现代企业级平台结构模式应主要考虑C/S模式和B/S模式。2.2.2 C/S模式与B/S模式的分析比较C/S模式及其特点C/S(Client/Server)结构,即客户机和服务器结构。C/S模式主要由客户应用程序(Client)、服务器管理程序(Server)和中间件(middleware)三个部件组成。客户应用程序是系统中用户与数据进行交互的部件。服务器程序负责有效地管理系统资源,如管理一个信息数据库,其主要工作是当多个客户并发地请求服务器上的相同资源时,对这些资

30、源进行最优化管理。中间件负责联结客户应用程序与服务器管理程序,协同完成一个作业,以满足用户查询管理数据的要求。对于C/S模式而言,其主要特点为:1.C/S模式将应用与服务分离,系统具有稳定性和灵活性;2.C/S模式配备的是点对点的结构模式,适用于局域网,有可靠的安全性;3.由于客户端实现与服务器端的直接连接,没有中间环节,因此响应速度快;4.在C/S模式中,作为客户机的计算机都要安装客户机程序,一旦软件系统升级,每台客户机都要安装客户机程序,系统升级和维护较为复杂。B/S模式及其特点B/S模式即Brower/Server结构模式,是基于Internet/Intranet的结构模式,分为三层,第

31、一层为表示层,用户通过浏览器完成和后台的交互及最终查询结果的输出功能。第二层为具有ODBC接口的WEB服务器,属功能层,主要利用服务器完成客户的应用功能。第三层为数据层,根据客户的请求独立地进行各种运算。即前台客户端采用浏览器,中间件服务器为Web服务器,后台为数据库服务器。此种结构由客户端在Web页面发出请求至Web Sever,再由Web Sever向数据库服务器发出请求,而最后中间件服务器接受到数据库服务器的应答后,最终返回给客户端的仍然是页面形式。这样实现了客户端不直接和数据库服务器发生关系,保证了数据安全性。对Browse/Server模式而言,其主要特点为:用户使用方便其在逻辑上采

32、用了3层结构,它在前台Browse和后台Server之间增加了一层Web Server层,所有的应用程序模块都安装在它上面,在Browse上只需安装一个通用的浏览器软件,因此,这种模式简化了客户端,使用户的操作更加方便。系统开发、维护、升级方便每当服务器应用程序升级时,只要在服务器上升级服务应用程序即可,用户计算机上的浏览器软件不需要修改,系统开发和升级维护方便。B/S模式具有很强的开放性在B/S模式下,用户通过通用的浏览器进行访问,系统开放性好。B/S模式的结构易于扩展由于Web的平台无关性,B/S模式的结构可以任意扩展,可以从包含一台服务器和几个用户的小型系统扩展成为拥有成千上万个用户的大

33、型系统。根据发展需要,可对系统随时进行扩展,降低了系统的开发和维护的开销 。鉴于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的编译器,

34、命名为Dalvik。Dalvik是经过优化的Java编译器,允许在有限的内存中同时运行多个虚拟机的实例,并且每一个Dalvik应用作为一个独立的Linux进程执行,独立的进程可以防止在虚拟机崩溃的时候所有程序都被关闭。项目的开发在Eclipse环境中进行,由于进行的是Android应用程序的开发,需要在Eclipse安装ADT插件,即Android开发工具,这样Eclipse就可以和Android SDK建立连接,在Eclipse中启动Android模拟器、调试程序等工作。由以上分析可知,Android平台的搭建需要Android SDK、Java SDK、Eclipse和ADT四个软件。2.

35、2.3 Android开发平台搭建在进行Android应用程序的开发前,要先搭建Android平台,然后才能在开发环境中进行编程。根据官方指导,对Android平台的搭建过程介绍如下:首先,在官方网址上下载JDK6.0并安装,安装后设置系统环境变量JAVA_HOME、CLASS_PATH、PATH的值;然后,在官方网址上下载更新的SDK进行安装,下载完后解压到指定文件夹,启动SDK Manager进行安装,选择需要的Android版本,然后更新,这次更新需要的时间比较慢,所以更新前要做好准备。安装完成后,将ADB命令所在的目录platform-tools的完整路径添加到系统的环境变量PATH中

36、,就能够在命令中使用ADB命令了;接下来要安装的是ADT插件,即Android开发工具。因为ADT在线安装容易遇到问题,增加一些不必要的麻烦所以需要下载后在本地安装。下载存放在指定的位置以便后面使用;最后,下载Eclipse,建议选择Eclipse3.4以上版本,解压到指定位置后运行。选择Eclipse菜单中的Help>Install New Software选项卡上的Available Software,点击右侧的Add,然后在Name框中填写Android,在Location框中选择上步下载的ADT文件,然后点击OK>Finish>Install All,这时关闭Ecli

37、pse再重新启动。重启后选择Eclipse菜单中的Window>Preferences,在左侧的Android项目中SDK Location中填入Android SDK解压后的目录,然后点击Apply。这样,整个平台的搭建工作就完成了。Activity:在Android应用程序中,一个活动Activity通常就是一个单独的界面。每一个界面都被实现为一个独立的类,并且从Activity基类中继承而来,Activity将会显示由空间组成的用户接口,并对事件做出响应。大多数的应用都是由多个Activity显示组成。这里的每一个界面就是一个Activity,很容易是从一个界面到一个新的界面,并且

38、完成新的Activity。当一个新的界面打开后,前一个界面将会暂停,并保留在历史栈中。用户可以返回到历史栈中的前一个界面,当界面不再使用时,从历史栈中删除。简单理解,Activity代表一个用户所能看到的界面,主要用于处理应用程序的整体性工作,例如,监听系统事件(按键事件、触摸屏事件等),为用户显示指定的View,启动其他Activity等。所有应用的Activity都继承于android.app.Activity类,该类是Android提供的基层类,其他的Activity继承该父类后,通过父类的方法实现各种功能,这种设计在其他领域也较为常见。Intent:Android基本的设计理念是鼓励减

39、少组件间的耦合,因此Android提供了Intent(意图),Intent提供了一种通用的消息系统,它允许在你的应用程序与其他的应用程序间传递Intent来执行动作和产生时间。使用Intent可以激活Android应用的三个核心组件:活动、服务和广播接收器。Intent可以划分为显示意图和隐式意图。显示意图调用Intent。SetClass方法明确制定了组件名的Intent为显示意图,显示意图明确制定了Intent应该传递给那个组件,在同一个应用内部使用的。隐式意图没有明确指定组件名的Intent为隐式意图。Android系统会根据隐式意图中设置的动作(action)、类别(category)

40、、数据(URI和数据类型)找到最合适的组件来处理这个意图。Intent负责对应用中一次操作的动作、动作涉及数据和附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。因此,Intent在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的结构。Service:如果把Activity比喻为前台程序,那么Service就是后台程序,Service的整个生命周期都只会在后台执行。Service跟 Activity一样也由Intent调用。由于Service在后台运行,所以没有界面,用来处理

41、耗时比较长,而且Service不是一个单独的进程,也不是一个单独的线程。Service有两种类型:本地服务(Local Service):用于应用程序内部;远程服务(Remote Sercie):用于android系统内部的应用程序之间;前者用于实现应用程序自己的一些耗时任务,比如查询升级信息,并不占用应用程序比如Activity所属线程,而是单开线程后台执行,这样用户体验比较好。后者可被其他应用程序复用。Service的生命周期,Service有startService和bindService两种启动Service方法,每种方法Service的生命周期是不一样的。(1)通过startServ

42、ice() Service会经历 onCreate -> onStartCommand(),stopService的时候直接onDestroy,如果是调用者直接退出而没有调用stopService的话,Service会一直在后台运行,下次调用者再起来仍然可以stopService;(2)通过bindService() Service只会运行onCreate()->onBind() 这个时候调用者和Service绑定在一起 unbindService的时候onUnbind() -> onDestroyed(),调用者退出了,Srevice就会调用onUnbind() ->

43、 onDestroyed()。在这里需要注意的是Service的onCreate的方法只会被调用一次,就是你无论多少次的startService又 bindService,Service只被创建一次。如果先是bind了,那么start的时候就直接运行Service的onStart方法,如果先是start,那么bind的时候就直接运行onBind方法。如果你先bind上了,就stop不掉了,只能先UnbindService, 再StopService,所以是先start还是先bind行为是有区别的。Layout布局:布局方式有很多种,比如线性布局(Linear Layout)、相对布局(Rela

44、tive Layout)、表格布局(Table Layout)、网格视图(Grid View)、标签布局(Tab Layout)、列表视图(List View)和绝对布局(Absolute Layout)。本文设计主要采用线性布局(Linear Layout),所以就线性布局我们来做简单地介绍。线性布局 LinearLayout:线性布局是所用布局中最常用的方式之一,RadioGroup, TabWidget,TableLayout,TableRow,ZoomControls类的父类。LinearLayout可以让它的子元素垂直或水平的方式排成一行(不设置方向的时候默认按照垂直方向排列)。Li

45、nearLayout以你为它设置的垂直或水平的属性值,来排列所有的子元素。所有的子元素都被堆放在其它元素之后,因此一个垂直列表的每一行只会有一个元素,而不管他们有多宽,而一个水平列表将会只有一个行高(高度为最高子元素的高度加上边框高度)。LinearLayout保持子元素之间的间隔以及互相对齐(相对一个元素的右对齐、中间对齐或者左对齐)。LinearLayout还支持为单独的子元素指定weight 。好处就是允许子元素可以填充屏幕上的剩余空间。这也避免了在一个大屏幕中,一串小对象挤成一堆的情况,而是允许他们放大填充空白。子元素指定一个weight 值,剩余的空间就会按这些子元素指定的weigh

46、t比例分配给这些子元素。默认的weight值为0。例如,如果有三个文本框,其中两个指定了weight值为1,那么,这两个文本框将等比例地放大,并填满剩余的空间,而第三个文本框不会放大。控件介绍:TextView 文本控件,可以用它来显示文字,就像一个标签一样,或者你可以认为是html中的span。对于TextView是怎么设置显示的文本,怎样设置字体的大小,字体的颜色,字体的样式。TextView包含以下子类:Button, CheckedTextView,Chronometer,DigitalClock,EditText。以下简单介绍TextView的属性: android:id 控件的标识

47、符 android:layout_width 设置控件的宽度 android:layout_height 设置控件的高度 android:layout_marginTop 设置文本的上外边距 android:textSize 设置文本文字的的大小 android:paddingLeft 设置元素左内边距1. Button 按钮控件,在button内部可以放置内容,比如文本或图像。<button>与</button>标签之间的所有内容都是按钮的内容,其中包括任何可接受的正文内容,比如文本或或多媒体。比如,我们可以在按钮中包括了一个图像和相关的文本,用它们在按钮中创建一个吸

48、引人的标记图像。不过button禁止使用的元素是图像映射,因为它对鼠标和键盘敏感的动作会干扰表单按钮的行为。以下简单介绍Button的属性: android:id 控件的标识符 android:layout_width 设置按钮的宽度 android:layout_height 设置按钮的高度 android:textSize 设置按钮里文字的大小 android:layout_marginTop 设置按钮的上外边距 android:text 设置按钮中的文字 android:visibility 设置按钮里的元素是否可见2. EditText 文本编辑框,TextView的直接子类,所以Ed

49、itText会继成父类TextView的一些方法。在布局中配置EditText也需同时配置一个Button,这样可以在代码中监听Button的事件,以便获取当前在EditView中输入的内容并且显示出来。在EditView可以限制输入的字符串类型。以下简单介绍EditText的属性: android:id 控件的标识符 android:layout_width 设置输入框的宽度 android:layout_height 设置输入框的高度 android:layout_weight 设置输入框占父控件的比例 android:inputType 设置输入框内的字符串类型 android:hint

50、 设置在输入框输入内容前默认的文字3. ImageView 标签可以显示任意图像,例如图标。ImageView类可以加载各种来源的图片(如资源或图片库),需要计算图像的尺寸,以便它可以在其他布局中使用,并提供例如缩放和着色等各种显示选项,在本文用来显示预定图片。以下简为ImageView的属性: android:id 设置图片的标识符 android:layout_width 设置图片的宽度 android:layout_height 设置图片的高度 android:visibility 设置图片是否可见性4. ProgressBar 进度条控件,通常在应用程序执行诸如复制文件或打印文档等任务

51、时使用。如果没有视觉提示,应用程序的用户可能会认为应用程序不响应。通过在应用程序中使用 ProgressBar,可以警告用户应用程序正在执行冗长的任务且应用程序仍在响应。以下简单介绍ProgressBar的属性: android:max 设置进度条的最大进度值 android:progress 设置进度条初始化的进度值 android:secondaryProgress 设置二级进度条的值 android:layout_gravity 设置进度条位置 android:style 设置进度条的风格是长方形还是圆形5. CheckBox 复选框,通常用于某选项的打开或关闭,可以选择任意数目的复选框

52、;6. RadioButton 单选框,为用户提供由两个或多个互斥选项组成的选项集。虽然单选按钮和复选框看似功能类似,却存在重要差异:当用户选择某单选按钮时,同一组中的其他单选按钮不能同时选定。相反,却可以选择任意数目的复选框。定义单选按钮组将告诉用户,这里有一组选项,您可以从中选择一个且只能选择一个。2.2.4 开发方案整体选择根据用户的实际情况和需要,最终决定采用在Windows 下使用Java+Android SDK开发,采用B/S结构。这样的好处是:1.使用Java+Android SDK+SQL灵活方便,可扩充性、可移植性较好。2.客户端可以选择安卓平台发布,用户可以在手机端下订单。

53、3.后台管理采用 B/S结构是能充分发挥客户端的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。2.3 系统可行性分析为了给软件开发者提供是否进行项目实施的参考依据,现分析项目的风险、项目需要的投资以及效益。2.3.1 经济可行性手机点餐系统是一个小型的存储管理系统, 在开发时需要软件开发人员花费一定的时间和精力,因此需要一定的资金。开发、运行和维护费用主要包括:购买和安装设备的费用:计算机硬件、系统软件、 机房、电源等;但它给企业带来的利润是不可估量的,节省了许多人力,物力上的开支,使资产管理工作变繁为简,使其更加合理化、规范化。工作效率的提高就意为着整体

54、水平的提高,是非常值得投资的。2.3.2 技术可行性技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。本库存管理系统用的是JSP开发语言,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。软件方面:由于目前单机模式相对发展成熟,故软件的开发平台成熟可行,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。2.3.3 操作可行性系统是在JDK 环境下开发的,易于操作。而且系统还采用了可视化面向对象的工具开发,其窗口、界面简洁易懂,所以系统在操作上是可行的。2.4 系统需求分析2.4.1 对系统的要求本类型的系统的种

55、类很多,而每一个分类下又有很多子类。还应该提供用户管理,并对其设置权限管理。系统还应该做到对数据的快速查询。经实际调查,要求本系统具有以下功能:(1)界面设计美观大方,方便、快捷、操作灵活。(2)如果系统的使用对象较多,则要求有较好的权限管理。(3)提供对用户的基本信息管理的操作。(4)方便信息的查询。2.4.2 基本功能(1) 顾客的登录注册:为了增强系统的使用安全性,使用系统之前必须登录系统,在后台的数据库通过用户名和密码进行查询。注册用户方可使用该系统。(2) 菜谱的查询:顾客进入系统后可以对菜谱进行浏览,并且可以查看菜谱的详细信息。顾客可以根据价格分类来进行分类查询。(3) 点餐:点餐

56、功能模块是本系统中一个重要的功能模块。顾客选择自己满意的菜谱后,点击确认加入菜谱购物车中,然后可以进行修改,增删。(4) 发送订单:顾客选好菜谱后,点击生成订单。顾客需要输入相关的信息,如订餐时间,配送菜的地址,联系人等等。通过WIFI,将订餐信息发送到后台服务器,进而在厨房中的显示,方便厨师下厨。(5) 浏览历史记录:顾客可以通过浏览历史记录来查看自己点过的菜单,花过多少钱,点了些什么菜。还可对选过的菜进行评分。2.4.3 绘制用例图设计系统功能上述的Android手机终端点菜系统的功能结构图可以直观的体现出了系统的功能结构,各个功能模块的任务,通过对总体需求划分的分析,对系统有了更加明确的认识,了解了系统的研究方向和系统的功能模块图2.2 系统用例图3 项目设计及开发3.1 系统的主要设计框图本系统的主要设计框图,如图3-1所示,主要描述了此系统应该具有的功能模块以及实现的功能模块。如图3.1所示:用户操作

温馨提示

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

评论

0/150

提交评论