毕业设计(论文)-Android网上订餐系统.doc_第1页
毕业设计(论文)-Android网上订餐系统.doc_第2页
毕业设计(论文)-Android网上订餐系统.doc_第3页
毕业设计(论文)-Android网上订餐系统.doc_第4页
毕业设计(论文)-Android网上订餐系统.doc_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

Android网上订餐系统摘 要现在我们生活在数字化的时代,随着GPRS、蓝牙、WLAN等无线技术的日益进步,移动生活、移动办公逐渐在我们生活中演变为现实,信息数据随处可见。特别是广域无线数据传输技术的日趋强大,经过运营商的一再推销,WLAN的应用已经开始在我们生活中增加,逐步添加到公安、教育、商贸、物流等行业中,而且慢慢的影响到人们的生活,种种以前做梦想的东西变为了现实。对于传统的餐饮业,也在慢慢的运用无线网络这项强大的工具。当今社会,很多餐饮企业还是以人工传递来操作,但是这种方法的效率比较低,而且如果就餐的时候人比较多,会增加服务员手写传单中的错误率,造成客人的不满以及投诉,影响到本店的服务质量,甚至会损害本餐厅的名誉。随着WLAN技术的进一步加强,一些规模比较大的酒店已经开始考虑使用这种最先进、最具时尚的网络技术来建设一套方便、快捷的酒店管理系统,方便优化管理,使酒店的服务和管理得到很大的提升,提高品牌形象和行业竞争力。本设计主要讲述了点餐系统的基本功能和数据库的设计方法。设计最终达成了包括用户登录,点菜管理功能模块,点菜管理功能模块、并台管理功能模块、转台管理功能模块、查台管理功能模块、结台管理功能模块、更新管理功能模块、注销功能模块、设置功能模 块等。并且系统能够正常运行,各个界面交互性较好。在系统规划中先后用数据流程图,系统功能结构图分析了系统所需的各种数据,详细的展示了系统的各个功能模块,并给出了主要功能运用界面图。(关键词: WLAN;ANDROID;无线点)Android网上订餐系统1目 录摘 要1第一章 绪 论31.1 研究的背景及意义31.2 研究的目的31.3 国内外概况3第二章 设计原理和方法52.1架构概述52.2关键技术简介52.3开发工具及环境62.4应用平台92.5需求分析92.5.1点餐系统的背景分析和构建必要性92.5.2可行性分析11第三章 系统概要设计123.1模块的划分与功能模块设计123.2数据库结构的设计123.3连接数据库的设计与实现17第四章 系统实现184.1客户端设计思路184.2主菜单界面184.2.1功能描述184.2.2登录界面的设计184.2.3功能描述184.2.4界面设计194.2.5功能实现194.2.6 关键代码194.3 点菜界面214.3.1 功能描述214.3.2 界面设计214.3.3 关键代码224.4 更新界面244.4.1 功能描述244.4.2 界面设计244.4.3功能实现244.4.4关键代码244.5 结账界面264.5.1 功能描述264.5.2 界面设计274.5.3功能实现284.5.4 关键代码28第五章 测试295.1 测试的作用和意义295.2 测试方法295.3 测试内容295.4 测试结果305.5 测试结论31结 论32谢 辞33参考文献34Android网上订餐系统第一章 绪 论1.1 研究的背景及意义餐饮传统的点菜方式是纯人工操作,由服务员记录顾客点的菜,在具体工作中容易出现以下问题:手写单据字迹潦草从而导致上错菜、传菜分单出错现象严重、加菜和查账程序较繁琐。处理特殊口味有遗漏和偏差、客人催菜遗忘现象较频繁、计算账单易出错、不方便人员管理等等。正因如此,无线点餐模式应运而生。它不仅可以有效地提高餐饮业的工作效率,更可以规范服务体系,提高整体服务质量和管理水平,并为规模化经营提供了坚实的技术基础。我们生活在一个充斥着数字技术的世界里,数字技术几乎侵入到我们生活的每个细节。现在的点菜在使用的方面已经没有Wi-fi点菜系统来的方便:服务员依然使用手持终端为顾客点餐,当顾客点完自己想要的餐点后,服务员将已经输入在手持终端内的信息,对准布置在餐厅里面的红外接收装置进行发射,接收端会将收到的点餐信息通过网线传到前台电脑上面。前台电脑会对收到的点菜内容进行分析,然后处理,再把处理好的信息发送给收银台和厨房。1.2 研究的目的本文介绍了无线点餐系统的开发过程。遵循软件工程的方法,论文详尽论述了从需求分析、系统分析、概要设计、详细设计、以及测试与调试的整个开发过程。首先系统地研究了无线点餐系统的背景和意义,分析了当今点餐系统的特点和共性,从而得出设计本系统的思路和方法。接着介绍了实现系统开发的Android平台环境,数据库用MySQL实现。同时简要介绍了以上工具的功能和方法。概要设计分成后台数据库管理操作设计和客户端操作设计,同时介绍了数据库的建立和维护。详细设计主要阐述了点菜管理、送餐管理、查询管理,付款管理等以及后台管理功能的实现,并给出了系统的部分设计代码。最后,对每个功能模块和整个系统进行了测试,测试结果表明:系统基本具备了的功能以及快速的响应速度。1.3 国内外概况目前国内外的Android开发还是主要以应用开发为主,主要分成3类:为企业开发应用、开发通用应用(放到Android Market或者其他App Market销售)以及游戏开发(放到Android Market或者其他App Market销售)。在餐饮方面,无线点餐已经在全国开始普及,越来越多的用户将会感受到android带来的便利。这种技术架构很成熟,但是存在一个弊端就是PDA的价格较高,并且PDA只能作为点餐使用,这无形中增加了系统的成本,也造成了资源的浪费。有了Android系统,我们就可以在其中开发一套客户端软件来完成点餐功能,Android手机的其他功能(如打电话、发短信)照常使用。这样首先系统的成本会降低,其次,Android系统功能强大,界面组建丰富,软件的功能自然会强大很多。用户操作更流畅,界面展现更完美。第二章 设计原理和方法2.1架构概述本设计主要讲述了无线点餐系统的基本功能和基于Android平台的软件开发、数据库的设计方法。设计最终达成了用户登录、点菜管理、送餐管理,收费管理,等点餐系统的基本功能。并且系统能够正常运行,各个页面交互性较好。在整个设计中基本运用基础的Android进行功能编程,也运用到了一些前端控件来控制输入信息,对输入信息进行验证,通过JDBC连接数据库。在系统规划中先后用数据流程图、系统功能结构图分析了系统所需的各种数据,详细的展现了系统的各个功能模块并给出了主要功能运行界面图。该点餐系统目前已有比较完善的管理与使用功能。开发点餐系统是为了满足酒店管理的需要,以现代化的创新思维模式去工作。无线点餐系统主要用到的采用模型-视图-控制器MVC架构的设计模式。MVC架构是Model-View-Controller,中文意思是模型-视图-控制器。MVC应用程序总是由这三个部分组成。MVC架构是一种架构,其实需要其他东西帮助它来完成操作。在J2EE模式目录中,通常采用service to worker模式实现,但是service to worker模式可以通过集中控制器模式,派遣器模式和Page Helper模式这三样结合而成。而Struts只是描述了MVC的View和Controller两个部分,Model部分需要我们这些开发的人们来自己操作,Struts提出了抽象类Action使开发者能将Model应用于Struts框架中。 2.2关键技术简介(1)JDBCJDBC是一种用来表示SQL语句的Java API,可以帮助各种数据库来提供一样的访问,它是由Java语言编写的类和接口组成。JDBC提供了一个标准的API给工具/数据库的开发人员,这样可以建立一个更高级的工具和接口,这样数据库开发人员能够用纯 Java API 编写数据库应用程序,同时,JDBC也是个商标名。 (2)移动终端界面设计用于移动终端技术领域,提供了一种移动终端界面显示方法、装置以及移动终端,所述方法包括以下步骤:接收用11111户的界面显示模式设置;将用户的界面显示模式设置进行存储;根据用户的需要控制移动终端界面进入用户设置的界面显示模式。本发明实施例通过将用户的界面显示模式设置进行存储,根据获取的移动终端运行指令控制界面进入用户设置的界面显示模式,使得移动终端的用户能够方便的根据自己的需要对显示界面进行设置,譬如设置字体的大小、设置某个应用程序的高亮状态等,拓展了移动终端的功能,方便了用户的使用。2.3开发工具及环境(1)EclipseEclipse 是一个开放源代码的、基于 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软件更加具有灵活性。许多软件开发商IDE都是以eclipse框架来开发的。Eclipse是一个源代码开放的软件开发项目,因为高度集成的工具所以开发创建一个功能全的、具有商业品质的平台。它的组成包括Eclipse项目、Eclipse工具项目和Eclipse技术项目,主要由以下几个部分组成Eclipse Platform、JDT、CDT和PDE. Java开发的支持是JDT、C开发的支持是CDT、插件开发的支持是PDE,Eclipse Platform则是一个开放的可扩展IDE,拥有一个通用的开发平台。它也是建造块和构造并运行集成软件的开发工具的基础。Eclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨这个工具功什么时候结束,另外一个工具功能什么时候开始。 Eclipse SDK是合并了Eclipse Platform、JDT和PDE的组件,这些可以一起下载。开发环境因为它们具有了更加丰富的特性,从而使开发者更加有效地建造可以无缝集成到Eclipse Platform中的工具。Eclipse SDK由Eclipse项目生产的工具和来自其它开放源代码的第三方软件组合而成。Eclipse项目生产的软件以 GPL发布,第三方组件有各自自身的许可协议。(2)Tomcat服务器Tomcat 很受大部分程序员的欢迎,因为它运行时不怎么占用系统资源,并且具有良好的扩展性,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在努力完善中,只要程序员感兴趣就更改它或在其中加入新的功能。 Tomcat 是一个小型的轻量级应用服务器,普遍使用在中小型系统和并发访问用户不是很多的场合,所以是开发和调试JSP 程序的第一选择。对于一个刚刚起步的人来说,可以这样认为,当机器上配置好Apache 服务器,它可以使HTML 页面的访问请求得到相应。实际上Tomcat 部分只是是Apache 服务器扩展的一部分,但它并不具有依赖性,因此当你运行tomcat,它实际上是单独运行的。 问题的关键是,当正确的配置时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,同样可以处理HTML页面,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML却没有 Apache服务器好。(3)常用功能的配置方法a) 启动内存参数的配置 tomcat/bin/catalina.bat 如果是linux 就是 catalina.sh 在rem 的后面增加如下参数 set JAVA_OPTS= -Xms256m -Xmx256m -XX:MaxPermSize=64m b) 修改Tomcat的JDK目录 打开tomcat/bin/catalina.bat 在最后一个rem后面增加 set JAVA_HOME=C:Program FilesJavajdk1.6.0 c) 增加虚拟目录 /tomcat/conf/server.xml 第一行是以前默认存在的,第二行是新增的 d) GET方式URL乱码问题解决 打开 tomcat/conf/server.xml 查找下面这部分,在最后增加一段代码就可以了。 其中的UTF-8 请根据你的需要自己修改,比如GBK e) 虚拟主机配置文件 tomcat/conf/server.xml . 2.4应用平台(1)Android平台Android是基于Linux内核的操作系统,早期由Google开发,后来是开放手机联盟开发。它采用了软件堆的架构,主要分为三部分。底层是通过Linux内核工作为基础,只能提供基本功能;其他的一些应用软件就是各公司自己开发,编写程序一般都是通过Java。另外,为了推广这项技术,Google和其它几十个手机公司建立了开放手机联盟。(2)Android特性应用程序框架 支持组件的重用与替换 Dalvik虚拟机 专门为移动设备做了优化 内部集成浏览器 该浏览器基于开源的WebKit 引擎 优化的图形库 包括2D和3D图形库,3D图形库基于OpenGL ES 1.0 (硬件加速可选)#SQLite 用作结构化的数据存储 多媒体支持 包括常见的音频、视频和静态印象文件格式 (如 MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) GSM电话 (依赖于硬件) 蓝牙Bluetooth, EDGE, 3G, and WiFi (依赖于硬件) 照相机,GPS,指南针,和加速度计 (依赖于硬件) 丰富的开发环境 包括设备模拟器,调试工具,内存及性能分析图表境2.5需求分析2.5.1点餐系统的背景分析和构建必要性数字化餐饮管理系统是处于导入市场的阶段。无线点餐系统管理软件供应商在餐饮行业市场满地找餐饮老板,希望出售自己产品。而餐饮老板在这个信息化满天飞的时代,总要受到影响,也希望通过这种数字化管理软件使得自己经营的餐饮能更有效的得到管理,能更多的盈利。但是,由于,餐饮业界人士对这个无线点餐管理软件不能辩认,或者说识别出好的适应本身餐馆经营模式的无线点餐管理软件所需时间较长,因而,总的来说,他们处于一种观望状态,或者考察时间相对来说较长。一个好的系统,必须要进行完善而且全面的系统分析。系统分析做好了,那就能够指导项目良好地发展下去。当然,系统分析需要以需求分析为基础,不过,在本项目中并未做仔细的需求分析,故在此不谈。本项目中,我们之所以能够有计划地进行下去,的确也是缘于良好的系统分析,如若省略这一步直接编程,那难度必然加大,以至于在编程过程中又不得不回过头来进行系统分析,此时必然拖慢进度,打乱整个系统逻辑,其最终的成品也充满变数。这个项目已经进行了1年半了,版本也修改了几次,甚至是版本号回退,功能也是几经添加、修改,最后成了一个“烂尾楼”。之所以会出现这种情况,其一在于自己对MVC这套东西不太熟悉;其二就是没有做好系统分析。连系统应该具有些什么功能都没搞清楚,模块之间的联系也没分清,又怎么能做出一个好的系统呢?这绝对不是写一个算法就完事的小程序,项目成功进行下去的关键是弄清楚要做什么,而不是怎么做。至于怎么做,在刚开始时则不用太在意,因为俗语有云:没有做不到,只有想不到。这句话是有道理的。进入正题。首先,我们得确定使用这个系统的用户应该有顾客、厨师、管理员(包括收银员,只是其权限有限制)。顾客和管理员是开始系统数据的,他们做出一开始的操作,然后发到计算机中扫描及操作;厨师是接收数据的末端,因为最后是从厨师身上看到任务的分配情况。系统的核心任务就是确保厨师完成顾客所点的菜品,厨师能够准确的从系统中得到做菜的任务。该系统在性能功能上应达到如下需求:() 操作简单、界面友好: 完全控件式的页面布局,使得菜品,资讯,送餐地址等信息的录入工作更简便,许多选项包括餐厅信息,客人信息等只需要点击鼠标就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。对常见的类似网站的管理的各个方面:基本信息录入、浏览、删除、修改、搜索等方面都大体实现,顾客对菜品的预定及支付方式;() 即时可见:能够立即处理顾客预订的餐饮信息然后达到即点即见的效果() 系统运行应该快速、稳定、高效和可靠;() 在结构上应具有很好的可扩展性,在后面的功能扩展和维护方面会很方便。表2-1 需求图 主要 质量属性 详细要求正确性按照需求正确执行任务,完成各个模块的相应要求。健壮性容错能力和回复能力比较好。性能效率软件的输出结果更新周期应该与系统的信息更新周期相同。在网络情况良好的情况下,3秒内可响应用户请求。易用性易理解性:软件研制过程文档语言便于理解而且基本上没有什么歧义。续表2-1安全性为了防止软件受到意外破坏和泄密,软件的数据应该全部放置在总部数据库中,只能专门人士才能看到。可扩展性可以进行进一步的开发,充分满足对功能的提升还可以提高软件的安全性能。兼容性不会和其他软件发生不必要的冲突。 2.5.2可行性分析现在的社会经济发展非常迅速,B2C电子商务越来越受到人们的关注。无线订餐系统,在很多城市大酒店中已经很常见了。特别在很多大型的餐饮集团,已经成为了一种趋势。同时,随着全国人民的各种生活高度的提高,包括物质精神和文化,人们不仅要吃饱,还要吃好,对待酒店服务的态度也是越来越挑剔,现在无线订餐系统的出现,很好的满足的广大顾客的需要,不仅让宾客享受到精美可口的美食,更让他们感受到服务的完美与上菜的快捷。无线订餐业务在中国有着极大的发展空间以及良好的背景。随着酒店管理的完善,使用这种智能的无线点餐系统必然成为追究卓越的餐饮公司的最爱,也更能够体现信息技术发展之猛烈。综合以上几点分析,此次毕业设计决定基于Android平台开发无线订餐系统。第三章 系统概要设计系统的概要设计主要对系统的总体功能如何设计,如何划分模块,系统的数据库如何设计进行研究。它为系统的详细设计做铺垫。在系统的设计过程中起着非常重要的作用。3.1模块的划分与功能模块设计本系统主要分:登录、点菜、确认、结账、送餐等。登录:用户登录开始点菜:根据菜单点菜确认:确认点菜数量送餐:根据提供的信息把点的菜食送抵目的地更新信息:获取最新菜谱设置:进行普通设置结账:在顾客就餐完毕后,计费付帐而设定的功能,使客人能够一目了然,不用担心有什么算错的问题3.2数据库结构的设计数据库设计 (Database Design)是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程。 就是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程。 设计数据库的过程一般可以分为4个步骤: (1)需求分析首先要调查清楚客户的业务和使用数据的情况并且进行分析,将所用数据的范围、数量、种类以及在业务活动中交流的情况弄清楚,确定完成用户对数据库系统使用过程中的要求。 无线点餐系统的主体就是酒店服务系统,所以这个系统中要用一个表来保存菜单信息。所以主键就是编号。负责登录终端系统的服务人员应该有保存服务人员信息的表,这个表中也是包括一些信息。所以主键为服务人员的编号。所有的顾客都可以通过自己的喜欢,在酒店选择喜欢的菜式。另外酒店肯定要有一个订单表,这个表格中包含了订单号,点餐时间,用户ID,用户地址,结账等信息。这样还需要一个能够存储顾客所点菜品信息的订单详细表。数据库的概念设计,即利用数据模型进行概念数据库的模式设计。根据无线点餐系统的需求,设计出以下的实体-关系模型(E-R)图如图3-1,3-2所示。图3-1实体联系图送餐地址送餐电话ID编号送餐服务服务人员用户密码用户名称ID编号n1图3-2实体联系图图片价格描述编号菜类类型菜名包含订单明细ID编号数量备注对应订单送餐电话ID编号下单的客户是否结账送餐地址nn11(2)概念设计对用户要求描述的现实世界,可以从住处的分类、聚集和概括,创建抽象的关于数据的概念模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间怎样相互制约以及各部门怎样储存、查询和加工信息。所建立的模型不要纠结与数据库是在计算机上的具体是怎样实现的,而是用一种抽象的形式刻画出来。用扩充的实体(E-R模型)联系模型方法举个例子,首先明确现实世界各部门所含的各种实体及其属性、实体间的联系以及怎样制约信息等,从而可以局部明确的描述各部门内所用信息。其次集成之前得到的多个用户的局部视图从而得到一个全局视图,就是用户要描述的现实世界的概念数据模型。(3)逻辑设计主要工作是将现实的数据变成数据库的逻辑模式。另一方面,可能还需为各种数据处理应用领域产生相应的逻辑子模式。这个设计最后就会得到“逻辑数据库。数据库的逻辑设计,即把概念设计得到的概念数据库模式变为逻辑数据模式,它依赖于DBMS。根据无线点餐系统的需求分析及数据库的感念设计,得到以下的数据库表和表的相关说明如下:(1)菜单表菜单表的结构及相关说明如表3-1所示。表3-1菜单表序号字段名称字段含义类型宽度备注1Id编号Int11Primarykey2typeID种类IDInt113name菜名varchar504price价钱Int115pic图片varchar1006remark备注varchar200(2)菜单类型表菜单类型表的结构及相关说明如表3-2所示。表3-2 菜单类型表序号字段名称字段含义类型宽度备注1Id菜单编号Int11Primarykey2name菜单名称varchar20(3)订单详细表订单详细表的结构及相关说明如表3-3 所示。表3-3订单详细表序号字段名称字段含义类型宽度备注1Id编号Int11Primarykey2orderId订单编号varchar11Foreign key3menuId菜单编号Int11Foreign key4num人数Int115remark备注varchar200(4)订单表订单表的结构及相关说明如表3-4 所示。表3-4订单表序号字段名称字段含义类型宽度备注1Id编号Int11Primarykey2orderTime订单时间varchar113userID用户编号Int11Foreign key4tableId餐桌编号Int11Foreign key5personNum人数Int116isPay是否结账Int117remark备注varchar200(5)用户表用户表的结构及相关说明如表3-5 所示。表3-5用户表序号字段名称字段含义类型宽度备注1Id编号Int11Primarykey2account桌号varchar203password密码varchar204name姓名varchar205gender签署varchar206permission权限Int117remark备注varchar2003.3连接数据库的设计与实现本系统采用java语言编写,使用jdbc连接Mysql数据库,所以要用到java中的connection对象和mysql驱动连接到数据库。其实现代码如下所示。String driver=com.mysql.jdbc.DriverString url=jdbc:mysql:/localhost:3360/wireless_db?useUnicode=true&characterEvcoding=utf-8 String username=rootString password=Connection conn;Class.forName(driver);Conn=DriverManager.getConnection(url,username,password)只有成功连接到了数据库才能进行其他操作,否则就无法开展以下的设计与实现工作了。可见,连接数据库是一个很关键的步骤。第四章 系统实现4.1客户端设计思路移动终端是用户基础最直接的东西,包括是用户是否能够简单轻松的使用,操作响应时间、主机连接时间、图片综合质量、首页布局质量、首页信息类型等。一般来说,界面的组成主要由三个因素:(1)文字:传达信息的主要部分就是文字元素。界面中主要包括文字链接、标题、信息几种主要形式的文字。标题传达的信息与传统的基本一致,主要是对内容的简要概述,一般说明醒目。文字是页面里最为重要的元素,而且是信息的重要的载体,页面的整体设计就在于它的字体、大小、颜色和排布。(2)图形:图形在界面中具有重要作用。合理的运用图形,会使设计主题变得更加生动形象。网页中一般图片为jpg和gif的格式。(3)界面版式:界面设计十分重要的部分就是版式,它组合配置文字、图形等元素,使得整个页面十分的美观,并且使阅读更加方便,使信息的传达,达到最佳效果。 设计终端系统的界面也是将了文字,图形等元素综合在一起。使每一个功能的描述都有图片与文字,通过最简单的看图就能知道键的含义,最终的目的还是为了使用者能够快速上手,不至于因为操作的不得当而放弃此系统。4.2主菜单界面4.2.1功能描述主菜单界面包含开始点菜,选择数量,配送地址,设置,退出,结账等6个功能模块。每个功能模块提供一种服务,包含一组功能操作,界面简单明了方便服务人员操作。4.2.2登录界面的设计登录界面主要是由服务人员来操作的,所以要简单明了易操作。利用数据库对用户信息进行核对,核对正确后利用界面跳转到主菜单界面。每一位服务人员有自己单独的一个账号密码用来登录,这样可以责任到人,不至于出现混乱,否则出现错误都不知道是哪个环节的问题。4.2.3功能描述 服务人员可通过用户名和密码进入移动终端首界面来为顾客服务。而服务人员的账号密码是提前在服务器数据库中设置的,每个服务人员都有自己单独的唯一的一个账号密码用来登录,这样可以达到责任到人。4.2.4界面设计 图4-1用户登录图4.2.5功能实现单独建立一个Activity用来控制用户的登录,再用户输入账号与密码时,系统先判断用户账号密码是否为空,为空则跳出一个对话框给用户提示;如果不为空则再从EditView中取的账号密码与服务器中的账号密码进行匹配,如果匹配成功则利用Intent语句跳转到下一个主菜单界面。4.2.6 关键代码loginBtn.setOnClickListener(new OnClickListener() Override public void onClick(View v) if(validate() /通过validate()判断账号密码是否为空if(login() /通过login()连接数据库核对是否一致Intent intent = new Intent(LoginActivity.this,MainMenuActivity.class);startActivity(intent); /启动Activity传递intent来跳转页面ElseshowDialog(用户名称或者密码错误,请重新输入!););对登录按钮添加监听事件,在服务人员输入账号密码后点击登录后,终端会先判断是否满足validate()方法,此方法是防止账号密码为空时的登录提示,如果为空会跳出一对话框进行提示账号密码是必填项,如果不空,则再判断是否满足login()方法,login()方法是用来与数据库进行连接比较核对是否一致,一致则顺利登录跳转到下一个Activity即主菜单界面,否则出现账号密码错误的提示,登录失败;private void saveUserMsg(String msg) / 将用户信息保存到配置文件String id = ; / 用户编号String name = ; / 用户名称String msgs = msg.split(;); / 获得信息数组int idx = msgs0.indexOf(=); /以“=”为分隔符id = msgs0.substring(idx+1); /获取id号idx = msgs1.indexOf(=);name = msgs1.substring(idx+1); /获取名称 SharedPreferences pre = getSharedPreferences(user_msg, MODE_WORLD_WRITEABLE); / 共享信息,运用本地数据库SQLiteSharedPreferences.Editor editor = pre.edit();editor.putString(id, id);editor.putString(name, name);mit();此方法是在login()方法中再与后台数据库查询成功后调用的,也将登录用户信息保存在终端系统的本地数据库中,存储方便快捷。这也正是基于Android平台的优点,拥有自己独立的数据库SQLite,它是一套轻量级的数据库引擎,可供其他应用程序调用。4.3 点菜界面4.3.1 功能描述此功能按键主要是为了让顾客能够方便的点菜,填写下顾客的各种信息,然后把顾客点的菜品配送到指定地址。4.3.2 界面设计图4-2点菜选菜图图4-3选择菜品数量图4-4生成订单4.3.3 关键代码private Integer mThumbIds = R.drawable.shopping, R.drawable.cart, R.drawable.orders ; private String menuString = 菜单,购物车,订单; / 构造方法 public ImageAdapter(Context c) mContext = c; inflater = LayoutInflater.from(mContext); / 组件个数 public int getCount() return mThumbIds.length; / 当前组件 public Object getItem(int position) return null; / 当前组件id public long getItemId(int position) return 0; / 获得当前视图 public View getView(int position, View convertView, ViewGroup parent) View view = inflater.inflate(R.layout.gv_item, null);TextView tv = (TextView) view.findViewById(R.id.gv_item_appname);ImageView iv = (ImageView) view.findViewById(R.id.gv_item_icon);/tv.setText(packageInfos.get(position).packageName);tv.setText(menuStringposition);iv.setImageResource(mThumbIdsposition); switch (position) case 0:/ 添加点餐监听器view.setOnClickListener(shoppingLinstener);break;case 1:/ 并台监听器view.setOnClickListener(cartLinstener);break;case 2:/ 添加转台监听器view.setOnClickListener(ordersLinstener);break;default:break; 4.4 更新界面 4.4.1 功能描述 此功能按键主要是为了更新最新的菜单。让顾客实时保持本店菜品的新颖程度。4.4.2 界面设计图4-5菜品更新4.4.3功能实现更新功能其实就是要保持终端系统中的数据库与服务器中的数据库随时保持一致。调用updateMenu()和updateTable()这两个方法来保持数据一致。两个方法代码大致相同,不过一个是保持菜单表的一致,一个是保持桌号表的一致。4.4.4关键代码 基本操作 a href=/admin/index/sysPro.jsp target=main系统属性 a href=/admin/userinfo/userPw.jsp target=main密码修改 客户管理 a href=/admin/stu/stuMana.jsp target=main客户管理 a href=/admin/stu/stuAdd.jsp target=main客户录入 商品管理 a href=/admin/goods/goodsMana.js

温馨提示

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

评论

0/150

提交评论