电子点餐系统的设计与实现毕业论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子点餐系统的设计与实现毕业论文
目录
中文摘要................................ 错误!未定义书签。
英文摘要................................ 错误!未定义书签。
1 绪论 (1)
1.1课题背景 (1)
1.2课题意义 (1)
1.3点餐系统的现状 (2)
1.4课题简介 (2)
1.5本文主要容 (2)
2相关技术 (3)
2.1Android (3)
2.2开发环境 (6)
2.2.1 Eclipse (6)
2.2.2 Tomcat (8)
2.2.3 ADT (8)
3系统分析和设计 (9)
3.1运行环境 (9)
3.2需求分析 (9)
3.2.1性能需求分析 (9)
3.2.2可行性分析 (9)
3.3总体设计原则 (10)
3.4系统划分 (11)
3.4.1 系统划分的原则 (11)
3.4.2 程序总体设计 (12)
3.5系统用例分析 (12)
3.5.1 用户登录的用例 (13)
3.5.2菜品信息管理的用例 (13)
3.5.3 员工信息管理的用例 (14)
3.5.4广告信息管理的用例 (14)
3.5.5点餐管理的用例 (15)
3.5.6餐厅状态管理的用例 (16)
3.5.7餐桌信息管理的用例 (16)
3.6系统结构设计 (17)
4 系统实现 (18)
4.1登陆电子点餐系统 (18)
4.2点餐功能 (18)
4.2.1点餐功能说明及实现 (18)
4.3结账处理 (23)
4.3.1 结账说明及实现 (23)
5 系统测试和发布 (24)
5.1测试目的 (24)
5.2测试方法 (25)
5.3测试过程 (26)
结束语 (28)
致谢 (29)
参考文献 (30)
摘要
Android
论文提出一种新型的电子点餐系统以弥补传统点餐方式的弊端。
在目前的餐馆里,如果采用电子菜单,客人点餐时不需要服务员的陪伴,能实时地了解菜的特色,方便了顾客同时也减轻了餐馆的服务压力。
随着WLAN技术的普及,一些规模较大的酒楼餐厅开始考虑利用这种最为先进、最具时尚潮流的网络技术来建设一套灵活、快捷的信息管理系统,以优化管理流程,使酒店的服务和管理得到实质性的提升,提高品牌形象和行业核心竞争力。
本课题是基于android(安卓)的电子点餐菜单的设计,该电子点餐系统实现了一个电子点餐终端的部分功能,如:显示菜的分类、单价、口味、已点数量和总价等。
本设计采用安装 JAVA JDK 、安装 Eclipse、安装 Android和配置android 开发环境。
整个设计是Eclipse SDK软件下的JAVA语言进行编写和android软件终端的支持下实行的。
本课题完成的电子点菜单功能齐全,使用方便,可大大提高服务质量,并节省许多人力物力。
在餐饮业具有较好的推广价值。
并且系统能够正常运行,各个界面交互性较好。
在系统规划中先后用数据流程图,系统功能结构图分析了系统所需的各种数据,详细的展示了系统的各个功能模块,并给出了主要功能运用界面图。
关键字:android电子菜单;java;eclipse;
Abstract
The paper presents a new electronic system to compensate for the disadvantages of the traditional order.In the restaurant, if the electronic menu, a customer's order is not required when the attendant to accompany, real-time understanding of cuisine, convenient for customers at the same time also reduced the restaurant pressure.With the popularity of WLAN technology, some of the larger restaurants began to consider the use of the most advanced, most fashion network technology to construct a set of flexible, efficient information management system, to optimize the management process, so that the hotel and management has been substantially enhanced, improve brand image and the core competitiveness of industry.
This topic is based on the Android electronic menu design, the electronic ordering system has an electronic order terminal part function, such as: the display dishes classification, unit price, taste, has been the point of quantity and price etc.. This design uses the installation of JAVA JDK, Eclipse Android installation, installation and configuration of Android development environment. The whole design is the Eclipse SDK software under the JAVA language preparation and Android Software terminal support implementation. The subject of electronic menu function is complete, easy to use, can greatly improve the quality, and save a lot of manpower and material resources. In the restaurant industry has better promotion value.
And the system can be running, each interface and better interactivity. In the planning system has used the data flow graph, the system function structure diagram of the system for all kinds of data, detailed display of each function module of the system, and gives the main functions of use interface diagram.
Key words:
Android electronic menu; Java; eclipse;
1 绪论
1.1课题背景
在当今世界,以计算机技术、软件技术为核心的技术取得了迅速发展,不仅广泛渗透到社会、经济、军事、交通和通信等相关行业,而且深入到家电、娱乐、艺术、社会文化等领域。
现代控制技术、多媒体技术与Internet的应用与普及,促使消费电子、计算机、通信一体化趋势步伐加快,嵌入式技术一度成为一个研究热点。
嵌入式系统是以应用为中心,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。
嵌入式操作系统将进入一个快速发展时期,嵌入式系统的应用将越来越多样化,当前是餐饮业由传统操作方式向信息化管理模式转换的时期,对信息化产品的需求量很大。
根据其对产品要求小型化、低功耗、专用性等特点,可以断言嵌入式技术将在餐馆信息化的过程中发挥重要作用。
1.2 课题意义
Android电子点菜宝是一款融合传统菜谱与无线点菜信息化于一体的电子点菜设备,是餐饮业的一项重大革新。
适中的高清液晶触摸屏及人性化的界面设计,满足了顾客浏览的便利性与自助点菜的需求,产品无论从外观、尺寸、重量都比同类产品更具优势,更接近与传统菜谱,是能够让餐厅真正放心作为菜谱使用的一款电子菜谱,实时的菜品更新功能及海量的信息展示功能,使餐厅节省了大量的菜谱、菜牌、手工单等各项高昂的、没完没了的
制作费用,解决了传统菜谱短时间就出现脏、乱、差的问题;电子菜谱,实现了餐厅无纸化的操作,提升了酒店的档次及形象。
1.3 点餐系统的现状
市场上出现的点菜系统都是作为餐馆信息化管理系统的一部分出现的,它们除了实现基本的点菜功能外,为了便于客户及管理者的使用,还附加了许多其他功能,个人很难完成一个功能完善的点菜系统。
而在电子点菜系统中,方便又快捷;另外,电子菜单与普通菜单相比有很多它的优点,比如普通菜单易脏,需要服务人员写,单据易丢,复杂的财务核算工作;而电子菜单方便快捷,点单灵活,不需要过多的服务人员等待客人点单,管理方便,点单取餐全自助,节省人力及时间。
1.4 课题简介
本课题的任务即是设计一种简单的电子点餐单终端,主要以eclipse SDK 为软件平台和android系统为硬件模拟平台,利用JAVA 语言进行编程,要求实现的电子点菜单功能齐全,使用方便。
系统大致分为前台界面操作与后台数据传输2大部分,前台包括登陆(工作人员)、开台、点菜、查询、结算等功能,后台主要负责利用线程队前台的数据进行传输与处理。
1.5 本文主要容
围绕上面研究主题,本文共分为5章,其结构安排如下:
第一章主要介绍系统的背景与意义,分析研究现状,并对课题进行介绍。
第二章主要介绍开发使用的相关技术。
如Eclipse、ADT、SQLite。
第三章为系统分析与设计,对用户需求分析,可行性分析进行说明,详细的对系统进行用例分析,并对系统的数据库和结构的设计进行解释。
第四章为系统实现,介绍系统界面并具体讲解,以及重要代码。
第五章为系统的测试,说明测试的重要性,并提供测试用例。
最后为结束语、致谢、参考文献。
2相关技术
2.1 android平台简单介绍
(1) Android平台特性
①应用程序框架支持组件的复用和更换
② Dalvik虚拟机专门为移动设备进行过优化
③集成的浏览器基于开源的WebKit引擎
④优化的图形机制自定义的2D图形库,基于OpenGL ES 1.0规的3D 图形实现(本项为硬件加速器可选)
⑤SQLite轻量级的数据库,支持结构化数据的存储
⑥媒体支持面向常见的音频、视频以及静态图形档案格式(MPEG4,
H.264, MP3, AAC, AMR, JPG, PNG, GIF)
⑦GSM技术GSM:global system for mobile communications (依赖硬件支持)
⑧Bluetooth, EDGE, 3G, and WiFi (依赖硬件支持)
⑨Camera, GPS, compass, and accelerometer (依赖硬件支持)
⑩Rich development environment丰富的开发环境,包含一套硬件仿真器,一些用于程序调试、存和性能剖析的工具,以及支持Eclipse 集成开发环境的插件(ADT)。
(2) Android平台架构
① Applications(应用)
Android将预装一组核心应用程序,包括email客户端、短信服务、日历日程、地图服务、浏览器、联系人和其他应用程序。
所有应用程序都是Java编程语言编写的。
② Application Frameworks(应用框架)
应用架构设计的初衷是:简化组件复用机制;任何应用都能发布自己的功能,这些功能又可以被任何其他应用使用(当然要受来自框架的强制安全规的约束)。
和复用机制相同,框架允许组件的更换。
所有应用都是一组服务和系统,一般包含:
①一套丰富且可扩展的视图组件,含有lists, grids, text boxes, buttons,甚至嵌入的网络浏览器。
② Content Providers(容提供器)使一个应用可以访问另外一个应用的数据(如联系人),或者使一个应用部可以共享自身数据。
③ Resource Manager(资源管理器),提供对非编码资源——例如本地化字符串、图形和布局文件——的访问通道。
④Notification Manager(通告管理器),使应用在状态栏显示自定义的警报通知。
⑤Activity Manager(行动管理器)负责管理应用的生命周期,提供通用导航回退
支持。
(3) Libraries(库)
Android包含一套C/C++库,Android系统的各式组件都在使用。
这些功能通过Android应用框架暴露给开发人员。
下面列举一些核心库:
①System C library 衍生于BSD的标准C系统库实现,尤其支持嵌入式的基于Linux的设备。
②Media Libraries -媒体库基于PacketVideo's OpenCORE;媒体库支持很多流行音频和视频格式、静态图形文件(包括MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG)的播放和录制。
③Surface Manager -管理围:对子系统显示功能的访问,跨应用的无缝组合2D和2D图形层。
④LibWebCore -是流行的浏览器引擎,可以支持Android浏览器和嵌入应用的WEB视图组件。
⑤SGL -底层的2D图形引擎。
⑥3D libraries -基于OpenGL ES 1.0 API的实现;该类库使用硬件3D加速器或者置的、高度优化的3D软件加速机制。
⑦FreeType -支持位图和矢量字体。
⑧SQLite -能干、轻量级的关系型数据库引擎,面向所有应用。
(4)Android Runtime(Android运行时)
Android的核心类库提供Java类库所提供的绝大部分功能。
每个Android应用都运行在自己的进程上,享有Dalvik虚拟机为它分配的专有实例。
为了支持多个虚拟机在同一个设备上高效运行,Dalvik 被改写过。
Dalvik虚拟机执行的是Dalvik格式的可执行文件(.dex)——该格式经过优化,以降低存耗用到最低。
Java编译器将Java源文件转为class 文件,class文件又被置的dx工具转化为dex格式文件,这种文件在Dalvik虚拟机上注册并运行。
在一些底层功能——比如线程和低存管理方面,Dalvik虚拟机是依赖Linux核的。
(5)Linux Kernel(Linux核)
Android依赖Linux 2.6版,提供核心系统服务:安全、存管理、进程管理、网络组、驱动模型。
核部分还相当于一个介于硬件层和系统中其他软件组之间的一个抽象层次。
2.2开发环境
2.2.1 Eclipse
Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。
Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java
的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(Eclipse Foundation)管理。
2003年,Eclipse 3.0选择OSGi服务平台规为运行时架构。
2007年6月,稳定版3.3发布。
2008年6月发布代号为Ganymede的3.4版。
2009年7月发布代号为GALILEO的3.5版。
Eclipse是著名的跨平台的自由集成开发环境(IDE)。
最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。
Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。
许多软件开发商以Eclipse为框架开发自己的IDE。
Eclipse的主要构成是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。
它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成——Eclipse Platform、JDT、CDT和PDE.JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。
它提供建造块和构造并运行集成软件开发工具的基础。
Eclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。
Eclipse SDK(软件开发者包)是Eclipse Platform、JDT和PDE 所生产的组件合并,它们可以一次下载。
这些部分在一起提供了一个具有丰富特性的开发环境,允许开发者有效地建造可以无缝集成到
Eclipse Platform中的工具。
Eclipse SDK由Eclipse项目生产的工具和来自其它开放源代码的第三方软件组合而成。
Eclipse项目生产的软件以 GPL发布,第三方组件有各自自身的许可协议。
2.2.2 Tomcat服务器
Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。
Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。
实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
这里的诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。
另外,Tomcat和IIS、Apache 等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。
不过,Tomcat处理静态HTML的能力不如Apache服务器。
2.2.3 ADT
2.5 Android开发工具(ADT)是一个为Eclipse IDE的,旨在为您
提供一个强大的,集成的环境中构建Android应用程序的插件。
ADT的扩展Eclipse的功能,让您快速建立新的Android项目,创建一个应用程序的用户界面,添加基于Android框架API的组件,使用Android SDK 工具调试你的应用程序,甚至出口签署(或符号)。
APK文件为了分发您的应用程序。
强烈建议在Eclipse开发与ADT是最快的方式上手。
引导项目设置与提供,以及工具的集成,自定义的XML编辑器,调试输出窗格,ADT的为您提供了令人难以置信的提高,在开发Android应用程序。
ADT是一个Eclipse IDE的插件。
才可以安装或使用ADT,你必须有一个兼容版本的Eclipse开发计算机上安装。
检查系统需求的Eclipse版本是兼容的Android SDK的文档。
3系统分析和设计
3.1运行环境选择
操作系统:Windows XP操作系统
数据库:SQL Server 2005
网络通信协议:TCP/IP
支持软件:Tomcat 6.x
3.2需求分析
3.2.1 性能需求分析
该系统在性能功能上应达到如下需求:
(1)操作简单、界面友好: 完全控件式的页面布局,使得菜品,资讯,座位等信息的录入工作更简便,许多选项包括餐厅信息,桌位,包房信息等只需要点击鼠标就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。
对常见的类似的管理的各个方面:基本信息
录入、浏览、删除、修改、搜索等方面都大体实现,顾客对菜品的预定及支付方式;
(2)即时可见:对客户预定餐饮信息的处理将立即在另一应用端及服务器的对应栏目显示出来,达到“即时点击、即时见效”的功能;
(3)系统运行应该快速、稳定、高效和可靠;
(4)在结构上应具有很好的可扩展性,便于将来的功能扩展和维护。
3.2.2 可行性分析
随着经济的快速发展,电子点餐系统已经出现在了许多城市的大酒店中。
特别在大型餐饮集团使用已经成为了趋势。
同时,随着全国人民的精神、物质和文化生活高度的提高,人们已经不在仅仅停留在吃饱的程度,不但要吃饱,还要吃好,而且对酒店服务也越来越挑刺,正因为如此电子点餐系统的出现,正好满足了大众的的这些需要,不仅让宾客享受到精美可口的美食,更让宾客感受到服务管理的贴心与完善。
电子点餐业务在中国有着极大的发展空间以及良好的背景。
随着酒店管理的完善,使用这种智能的电子点餐系统必然成为追究卓越的餐饮公司的最爱,也更能够体现信息技术发展的迅速。
综合以上几点分析,此次毕业设计决定基于Android平台开发电子点餐系统。
Android平台提供了巨大的自由空间,再运用JAVA面向对象语言,使系统功能更加强大。
点餐系统可以提高服务员的服务效率并且降低出错的几率。
在中高档的餐厅里使用可以省去极其繁琐的中间步骤。
3.3 总体设计原则
为了保证系统的质量,必须遵守共同的设计原则。
1)系统性
系统是作为统一的整体存在的。
因此,在系统设计中,要从整个系统的角度考虑以下因素:系统的代码要统一,设计规要标准,传递语言要尽可能一致,对系统的数据采集要做到数出一处、全局共享。
2)可靠性
一个成功的系统必须具有较高的可靠性,如安全性、检错及纠错能力、抗病毒能力等。
可靠性既是系统设计的考核指标,也是系统设计时必须注意的一项原则。
3)经济性
在满足系统需求的条件下,尽可能减少系统的开销。
系统设计尽量避免不必要的复杂化,各模块应当尽量简洁,以便缩短处理流程,减少处理费用。
4)灵活性
为保持系统的长久生命力,要求系统具有很强的环境适应性。
为此,系统应具有较好的开放性和结构可变性。
在系统设计中,尽量采用模块化结构,提高各模块的独立性,尽量减少模块间的数据耦合,使各个子系统间的数据依赖减至最低程度。
这样,既便于模块的修改,又便于系统适应环境变化的能力。
3.4 系统划分
整个系统划分为若干个子系统,子系统再分子系统(或模块),层层划分,然后再自上而下地逐步设计。
对于子系统的划分还包含着个人长期积累的工作经验、个人的习惯、对问题的不同理解等。
因此,在系统初步设计的基础上,应进一步认真地对系统划分进行符合客观情况的调查。
3.4.1 系统划分的原则
在实际过程中,系统的划分还要根据用户的要求、地理位置的分布、设
备的配置情况等重新划分。
系统划分的一般原则是:
1)子系统要具有相对独立性。
子系统划分必须使得子系统部功能、信息等各方面的凝聚性较好。
在实际中我们都希望每个子系统或模块相对独立,尽量减少各种不必要的数据调用和控制联系。
并将联系比较密切、功能近似的模块相对集中,这样会为以后的搜索、查询、调试、调用等提供方便。
2)子系统之间的数据依赖性要尽量小。
子系统之间的联系要尽量少,接口要简单、名了。
一个部联系强的子系统对外部的联系必然相对减少,所以应将联系较多的都划入子系统部。
3)子系统划分的结果应使数据冗余较少。
4)子系统的设置应考虑今后管理发展的需要。
子系统的实现不但能够更准确、更合理地完成现存系统的业务,而且还可以有助于更科学的决策和管理。
5)子系统的划分应便于系统分析阶段的实现。
系统的开发是一项较大的工程,它的实现一般都要分期、分步进行。
所以,子系统的划分应该考虑到这种要求,适应这种分期分步的实施。
3.4.2 程序总体设计
程序总体设计是程序管理组的工作,由系统设计人员和程序设计人员共同完成。
它的任务是确定程序结构,进行程序划分,分配程序编制业务,提出程序设计约定书,力求程序设计标准化,最后要编写程序设计说明书和程序设计说明书所附的文档资料。
3.5系统用例分析
整个系统将被划分为多个相对独立的子系统,子系统的划分将会在下面的篇幅介绍。
3.5.1 用户登录的用例
显示了用户身份验证的用例,如图3.1所示。
图3.1 用户登录的用例图
3.5.2 菜品信息管理的用例
显示了所有菜品信息管理的用例:菜品查看,菜品添加,菜品修改,菜品删除,如图3.3所示:
图3.2 菜品信息管理的用例
3.5.3 员工信息管理的用例
显示了员工信息管理的用例:浏览员工信息,添加员工信息,修改员工信息,删除员工信息,如图3.3所示:
图3.3 员工信息管理的用例
3.5.4 广告信息管理的用例
显示了广告信息管理的用例:广告信息发布,查看广告信息,删除广告信息,如图3.4所示:
图3.4 广告信息管理的用例
3.5.5 点餐管理的用例
显示了点餐管理的用例:查询餐桌状态,开台,点餐,修改开台,结算。
如图3.5所示:
图3.5 点餐管理的用例
3.5.6 餐厅状态管理的用例
显示了餐厅状态管理的用例:餐桌状态,员工状态,后厨状态,如图3.6所示:
图3.6 餐厅状态管理的用例
3.5.7 餐桌信息管理的用例
显示了短消息管理的用例:开台员工信息,所点菜品信息,已上菜品信息,账单信息,员工服务评价。
如图3.7所示:
图3.7餐桌信息管理用例
3.7 系统结构设计
综合上述分析,本设计是为了综合运用嵌入式数据库、网络通信及
嵌入式图形界面。
系统采用C/S 结构,实现简单的基于无线的点菜系统。
将嵌入式开
发板ARM2410S 作为服务器置于厨房,存储菜品并显示点菜情况;以android 模拟手机作为客户端,显示菜品信息和房间占用信息,服务员根据顾客的需求在客户端上选择房间并为顾客点菜,顾客用完餐后服务员在客户端更新房间占用情况。
系统结构如图3-1所示:
图3-1 电子点菜系统结构
服务客户
4 系统实现
4.1登陆电子点餐系统
当客户想在android智能电子点餐系统上点餐时,只需在进入android智能电子点餐系统的界面点击欢迎进入android智能电子点餐系统界面设计有一个Button按钮名为:点击此处进入和一个textView名为:欢迎进入android智能电子点餐系统。
界面设计如图4-1所示:
图4-1 进入ANDRIOD点餐系统图
4.2点餐功能
4.2.1点餐功能说明及实现
(1)单独建立一个Activity用来控制用户进入系统,利用Intent语句
跳转到下一个主菜单的分类界面。
实现进入点餐系统的主要代码:
public class dl extends Activity {
Button press1;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(yout.dl);
press1 = (Button) findViewById(R.id.button1);
press1.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent();
intent.setClass(dl.this, CaidanActivity.class);
startActivity(intent);
}
});
}
(2)建立一个Activity用来控制整个点餐系统的主菜单界面,利用Intent1、Intent2、Intent3、Intent4、Intent5、Intent6语句分别跳转到特色菜类、热菜类、凉菜类、汤类、酒类、套餐类等的界面。
实现点餐系统主菜单界面中各按钮的主要代码:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(yout.main);
press1 = (Button) findViewById(R.id.button2);
press1.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent();
intent.setClass(CaidanActivity.this, tsc.class);
startActivity(intent);
}
.....
.....
press7 = (Button) findViewById(R.id.button13);
press7.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
Intent intent6 = new Intent();
intent6.setClass(CaidanActivity.this, dl.class);
startActivity(intent6);
}
});
}
}
(2)特色菜类的功能实现:建立一个Activity用来控制特色菜的
界面,利用一个Intent语句分别跳转到特色菜类的界面。
其他类的界面
和此类的代码相类似。
实现特色菜类界面的主要代码:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(yout.dgdu);
press2 = (Button) findViewById(R.id.button3);
press2.setOnClickListener(new Button.OnClickListener()
{
public void onClick(View v) {
Intent intent = new Intent();
intent.setClass(tsc.this, CaidanActivity.class);
startActivity(intent);
}
p1=(EditText) findViewById(R.id.editText1);
.......................
p5=(EditText) findViewById(R.id.editText5);
p=(EditText) findViewById(R.id.editText);
press1=(Button)findViewById(R.id.button2);
checkbox1 = (CheckBox)findViewById(R.id.checkBox1);
...................
checkbox5 = (CheckBox)findViewById(R.id.checkBox5);
checkbox1.setOnCheckedChangeListener(new OnCheckedChangeListener() {
private boolean select;
public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
Toast.makeText(tsc.this,arg1?"菜已点":"取消了点菜" , Toast.LENGTH_LONG).show();
select = arg1;
}
});
...
...
checkbox5.setOnCheckedChangeListener(new OnCheckedChangeListener() {
private boolean select4;
public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
Toast.makeText(tsc.this,arg1?"菜已点":"取消了点菜" , Toast.LENGTH_LONG).show();
select4 = arg1;
}
});
4.3 结账处理
4.3.1 结账说明及实现
电子点餐系统的结账处理即快又方便,不需要人工计算及会计处理,系统会自动化地处理好。
实现点餐数量及价格统计的主要代码: press1.setOnClickListener(new Button.OnClickListener(){ public void onClick(View v)
{ if(checkbox1.isChecked())
{ a=Integer.parseInt(p1.getText().toString())*45;
p.setText(a+"");
}
if(checkbox2.isChecked())
{ b=Integer.parseInt(p2.getText().toString())*26;
w=a+b;
p.setText(w+"");
}
if(checkbox3.isChecked())
{ c=Integer.parseInt(p3.getText().toString())*15;
w=a+b+c;
p.setText(w+"");
}。