版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、诚信申明本人申明:我所呈交的本科毕业设计(论文)是本人在导师指导下对四年专业知识而进行的研究工作及全面的总结。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中创新处不包含其他人已经发表或撰写过的研究成果,也不包含为获得北京化工大学或其它教育机构的学位或证书而已经使用过的材料。与我一同完成毕业设计(论文)的同学对本课题所做的任何贡献均已在文中做了明确的说明并表示了谢意。若有不实之处,本人承担一切相关责任。本人签名: 年 月 日基于java的智能点餐系统适用于中小型餐厅的点餐系统荆志强电子信息工程专业 信工1102班 学号110230034指导教师 刘林生副教授摘 要当今社会的发展,
2、日新月异,发生了翻天覆地的变化,尤其是在智能方面,发展的更加迅速,随之带来的就是各个产业的智能化。军工业,化工,当然还有餐饮业,都在逐渐向智能化进发。虽然都在发展,但是在餐饮业的发展速度还是比较缓慢的,也只有一些大型的餐厅才会配有这些设备,而且造价比较昂贵。所以在这种情形下,我觉得开发一个简单方便的智能点餐软件是非常有必要的。餐厅在使用了智能点餐软件后,他可以非常高效地提高餐厅的点餐效率,有利于餐厅的维护和管理。这次毕业设计智能点餐软件的实现主要使用的是eclipse集成开发环境,服务器是利用tomcat和myeclipse进行开发的,而服务器是利用的mysql。然后介绍了本课题的开发背景,最
3、后通过截图和表格来说明该系统的开发与操作。本设计充分利用了Java快速开发和使用方便的特点,提高了编程效率和可靠性。本文还对系统的一些基本原理,设计的功能和特点都进行了比较详细的介绍和阐述。在论文的写作过程中,我还通过考察一些小型餐厅的具体的情况进而进行论述,体现理论联系实际,理论应用于实践的合理性和科学性。关键词:java 数据库 手机应用开发 Android Intelligent OrderingSystem Based on JavaOrdering systemapplicable to small and medium-sizedrestaurant AbstractWith th
4、e development of our social economy,the development of the catering industryis increasingly quickly,become one of thevery large industryin the society.But althoughthe scale is huge,the catering industrybut also theinformation developmentand the lowestindustryone ofthe slowest.Althoughsome of the lar
5、gerrestaurantsrestaurantsalso haveordering systemis relatively simple,but the vast majority ofenterprises and traditionalmanagement method,ora piece of paper,a pen,accountscomes from a basiccalculator!Its essence isnot onlyby the brain,workload,and error prone.In such circumstances,intelligent order
6、ingsystemcan effectively improve thegrade andlevel of management.The paper usesEclipce as the development tool,and then introduces the development background,finallythrough the screenshotsand tables to illustrate the development andoperation of the system.This designmakes full use of the JAVArapid d
7、evelopment andeasy touse features,improved programming efficiency and reliability.This thesis alsothe development principle,systemfunctionand characteristics of the designwere introduced in detail.In the process of writing,this article carries on the elaborationthrough the concreteinvestigationsomes
8、mall restaurants,reflects the theory with practice,theory is applied in practice.Key words: java database mobile phoneapplication development android目 录 TOC o 1-2 h z u HYPERLINK l _Toc418717758 前 言 PAGEREF _Toc418717758 h 1 HYPERLINK l _Toc418717759 第1章 课题研究价值 PAGEREF _Toc418717759 h 2 HYPERLINK l
9、_Toc418717760 第1.1节 选题背景 PAGEREF _Toc418717760 h 2 HYPERLINK l _Toc418717761 第1.2节 研究的目的与研究方法 PAGEREF _Toc418717761 h 2 HYPERLINK l _Toc418717762 第2章 点餐系统的概况 PAGEREF _Toc418717762 h 4 HYPERLINK l _Toc418717763 第2.1节 android的基本概念 PAGEREF _Toc418717763 h 4 HYPERLINK l _Toc418717764 第2.2节 开发环境和技术 PAGER
10、EF _Toc418717764 h 4 HYPERLINK l _Toc418717769 第2.3节 系统的基本架构 PAGEREF _Toc418717769 h 7 HYPERLINK l _Toc418717774 第2.4节 点餐系统的需求分析 PAGEREF _Toc418717774 h 8 HYPERLINK l _Toc418717797 第3章 系统总体设计 PAGEREF _Toc418717797 h 11 HYPERLINK l _Toc418717798 第3.1节 系统功能结构 PAGEREF _Toc418717798 h 11 HYPERLINK l _To
11、c418717800 第3.2节 系统工作流程 PAGEREF _Toc418717800 h 11 HYPERLINK l _Toc418717802 第3.3节 数据库的设计和实现 PAGEREF _Toc418717802 h 12 HYPERLINK l _Toc418717810 第4章 界面详细设计 PAGEREF _Toc418717810 h 17 HYPERLINK l _Toc418717811 第4.1节 界面设计与实现 PAGEREF _Toc418717811 h 17 HYPERLINK l _Toc418717820 第4.2节 主界面设计 PAGEREF _To
12、c418717820 h 32 HYPERLINK l _Toc418717821 结 论46 HYPERLINK l _Toc418717822 附 录47 HYPERLINK l _Toc418717823 参考文献 PAGEREF _Toc418717823 h 48 HYPERLINK l _Toc418717824 致 谢 PAGEREF _Toc418717824 h 49前 言随着我国信息科学技术以及经济的告诉发展,我国不论在科学研究方面,工业化学方面有了很大的进步和发展,同时在信息现代化方面也在发展。但是在餐饮方面的现代化发展还是相对缓慢的,基本上餐厅的点餐还是基本是靠人力,虽
13、然一些大型的餐厅已经配备了点餐机,但是还是没有达到现代智能化!这种情况下,因为人脑有很多不确定的因素,容易出现一些错误或者是误差。所以在这种情况下,智能点餐软件在一定程度上就解决了这个问题,而且会给餐厅带来意想不到的收益。它不但能够提供高效率的点餐过程,在一定的程度上也能够有利于餐厅的维护和管理。毕竟当今的社会日新月异,已经逐渐的走向信息化,科技化。而且现在的技术完全可以与我们的实际生活相联系,我们应该加以利用,使我们的生活更加的方便。作为我们人类基本需求中的“衣食住行”中不可或缺的“食”,俗活说“民以食为天”,可见吃饭对于我们的重要性。所以将餐饮业信息化,科技化是非常有必要的。而且现在在计算
14、机的硬件方面的发展也是非常娴熟的。所以,这个设计是一个小型饭店点餐系统,能够满足绝大多数餐厅的基本需求,是一款非常有研究价值的软件。其实,在科技技术飞速发展的今天,智能点餐系统其实已经慢慢进入到大家的生活。所以,我研究的这个中了。比如现在比较火的网上智能点餐系统有“饿了么”,“美团外卖”,“百度外卖”等,但是这些软件都是具有一定的局限性的,他们并不是单纯的面相每个餐厅。所以,我开始想研究一个专门面向餐厅的智能点餐系统,由于自学的知识是软件方面的知识,所以特别希望自己能够学以致用,将自己所学的知识能够熟练地应用到实际生活中。我所研究的只能点餐软件,主要是想弥补当今社会中餐厅智能点餐的空白,希望能
15、够给餐饮业带来一场空前的革命,同时也希望餐饮业能够不断地发展,毕竟我们的生活离不开吃饭,所以我开发了这个项目,我坚定地认为它的发展前景是相当不错的,有非常好的开发背景。课题研究价值第1.1节 选题背景随着现代经济的高速发展,智能化已经渗透到了各个领域,由于其涵盖面广,且无需人为管理,故将成为未来的发展方向!从1987年,中国就开始向智能化开始进发,开始了智能化的研究。经过不断地创新和发展,现如今智能化已经涉足于高端领域,如军事、航天航空、地质勘探等多方面5。其实智能化并不是我们想象中的特别的高深难以实现,其实它就是在我们科技技术的支持的前提下,进过不断的开发和研究最终实现的。我所研究的这个智能
16、点餐系统主要实现的是顾客的点餐过程,从登陆,点餐,下单的整个过程,解决了古老的服务生点餐的模式。同时还可以将顾客以及点餐惨淡详尽的保存到餐厅的数据库中,非常有利于餐厅的维护和管理,能够给餐厅带来基本的保障。一定程度上解决了餐厅账目乱,不好管理的现象。我觉得,这将给餐饮业带来一场前所未有的变革,让我们的餐饮业逐步地走向科技化,信息化和智能化。随着我国经济文化各方面的飞速发展,人们已经不再是只对物质上的追求有很大的渴望,精神层面的追求也越来越高,在餐饮方面的要求更是越来越高。餐厅的菜品是否合乎口味,服务态度是否友好,餐厅的点餐效率也是不能被忽略的一项。而且现在人们都好多又是外出就餐,这也就迫使对餐
17、饮业的要求必须严格和高效。所以发展餐饮业的智能化是非常有必要和迫在眉睫的,有很高的研究和开发价值。第1.2节 研究的目的与研究方法1.2.1研究的目的当今,在物质文明的高度发达的今天,科学技术的快速的发展不断改变着我们的生活,居民收入增长和消费观念都得到了更新,餐饮行业的质量以及内涵也都在发生翻天覆地的变化,在未来,餐饮业也将是人们非常关注的产业。为了能够解决当今餐饮业乱的现象,所以我研发了这个智能点餐软件。它在一定程度上解决了传统点餐对服务人员的依赖性,而且使用起来非常简单。1.2.2研究的方法(1)文献查阅。这项研究涉及石油Java,手机应用知识,软件开发等相关知识,研究数据几乎都已经埋在
18、国内外各种文学书籍,从中都会学习到非常有用的知识,也能够获取自己所需要的技术支持,所以我把它作为了自己研究的非常重要的一个方法。(2)比较法。比较法是我们信息软件开发过程当中非常常用和有效的方法,它也是开发当中很重要的方法。因为软件开发离不开市场的需求,必须通过缺点相比现有的市场准入和相应的软件,进一步发展和完善。(3)调查法调查法是产品开发中非常常用的方法。它是为了在项目的开发之前,用于确定具体的开发目的和开发过程的方法。从而能够非常有条理,有目的的进行接下来的研发工作,是一种高效,执行力强的研究方法。第2章 点餐系统的概况第2.1节 android的基本概念2.1.1 HYPERLINK
19、/repaste/85943831_2751793339.html#Android平台特性 在android的应用程序框架当中,它是支持组件的复用和更换的6 Dalvik虚拟机 它是专门为移动设备进行了一系列的优化再有就是系统中内嵌的内部集成HYPERLINK /repaste/85943831_2751793339.html#WebKit浏览器优化的图形机制 自定义的2D图形库,基于OpenGL ES 1.0规范的3D图形实现(本项为硬件加速器)SQLite数据库,它主要支持数据的结构化存储媒体支持 面向常见的音频、视频以及静态图形档案格式(MPEG4, H.264, MP3, AAC, A
20、MR, JPG, PNG, GIF)GSM技术GSM:global system for mobile communications (依赖硬件支持)Bluetooth, EDGE, 3G, and WiFi (依赖硬件支持)Camera, GPS, compass, and accelerometer (依赖硬件支持)Rich development environment丰富的开发环境,它其中包含一些内部的硬件仿真器,还包含调试程序的工具,以及集成开发环境插件。 2.1.2 Android平台架构1.应用(应用)Android应用的范围非常的广,其中包含日历,短信,视频,定位,浏览器等许许
21、多多的集成应用程序。所有的应用程序是用Java编程语言9。2.应用框架(Application Framework)应用框架是在android应用开发过程中非常重要的结构框架,在本次开发过程中我主要采用的是MVC开发应用框架;其中M标示模型层,它主要是存放activity活动,V代表视图层,它可以简单的理解为没有界面的activity,C代表控制层,主要存放业务逻辑处理。这个开发模式,是开发者实际开发当中非常常用的结构框架。3.内容提供者主要实现的是数据的共享,是数据传输的非常重要的桥梁,在开发过程中是必不可少的部分。4.资源管理,主要是实现资源的有序有规则的管理,是数据存储环节的非常重要的一
22、部分。5.通知管理器(通知管理器),在显示报警通知自定义状态栏的应用。第2.2节 开发环境和技术2.2.1 Eclipse Eclipse是一个开源的,基于Java的可扩展开发平台。它是android开发的最基本的集成开发环境。幸运的是,Eclipse是一套标准的插件,包括Java开发工具(Java开发工具,JDT)1。Eclipse最初是由替代商业软体开发资讯公司IBM年龄可视化Java IDE开发环境的下一代,十一月2001贡献给开源社区,它现在是一个非营利的软件供应商联盟基金会(基金会)管理。2003选择3,Eclipse的OSGi服务平台规范运行时体系结构。在2007六月,稳定版本3.
23、3。在2008的6月,发布了代号为木卫的3.4的版本。2009七月发布代号为伽利略3.5版11。Eclipse还有一个非常大的优点,就是其夸平台性以及其开源。它是基于java开发语言的一个android开发集成环境。Eclipse本身只是一个平台,其内含有好多的内部插件,又是可以直接应用。许多与Eclipse框架的软件开发人员开发自己的IDE。Eclipse软件开发项目的主要组成部分是一个开放源代码的,专注于高集成开发工具,提供一个完整的功能和良好的商业品质的产业平台。它主要是由日食,月食和日食的项目三项,包括四个部分:Eclipse平台,JDT,CDT和pde.jdt支持Java开发,CDT
24、支持C开发,PDE用来支持插件开发,Eclipse平台是一个开放的可扩展的IDE提供了一个通用的开发平台。它提供了构建块建设和集成软件开发工具的操作。Eclipse平台允许工具制造商自主开发和其他工具无缝集成的工具来区分无工具功能在哪里结束,而另一个工具从哪里开始。Eclipse SDK(软件开发包)是Eclipse平台,JDT和PDE组件的生产,他们可以下载这些部分在一起提供了一个功能丰富的开发环境,使开发人员能够有效地建立可以无缝集成到Eclipse工具平台。第三方软件结合Eclipse SDK的开放源码Eclipse项目和其他工具制作。Eclipse项目生产的软件发布GPL,第三方组件有
25、自己的许可协议。2.2.2 MySQLMySQL是一个关系数据库管理系统,一个开放源代码(RDBMS),使用最常用的数据库管理语言结构化查询语言(SQL)数据库MySQL数据库系统管理。由于MySQL和android开发平台一样,数据库也是开源的,它的下载权限比较低,而且可以根据自己的需求进行修改,而且对于小型的企业以及一般的应用,是很不错的数据库选择11。MySQL关系数据库在1998一月发布的第一个版本。提供多线程操作模式完成多线程系统用于提供核心,提供了一个编程接口,C+,Java,Perl,埃菲尔,PHP,Python和TCL编程语言(APIs),支持多种字段类型,并提供了一个完整的运
26、营商支持查询在选择和操作。在2001年中MySQL团队计划宣布MYSQL4.0版。在这个版本中提供了以下新的特点:新的表定义文件格式,高性能的数据复制,更强大的搜索功能。在这之后,MySQL希望提供安全的BeOS操作系统的数据复制机制,实现MySQL和定期刷新选项延迟关键词。随着时间的推移,MySQL将完全符合ANSI标准的ANSI 92 / 992。2.2.3 Android相关技术Android是基于Linux内核的操作系统,早期开发的谷歌,开放手机联盟后的发展。它使用一个软件架构,主要分为三个部分。底层是基于Linux内核,只提供基本功能;其他的应用软件则由各公司自行开发,以Java作为
27、程序的一部分。此外,为了推广这一技术,谷歌和其他手机公司开放手机联盟几十。Android一直盛传Gphone在公众面前。它利用软件栈(软件栈,又名软件叠层)的架构,主要分为三个部分:地面是基于Linux内核,采用C语言开发,只提供基本功能。中间层包括图书馆和虚拟机,用C开发。最上层是应用软件程序,包括电话,短信程序,应用软件则由各公司自行开发,以Java编写7。Android的特点:-支持组件的重用和替换应用程序框架Dalvik虚拟机专门为移动设备优化基于开源WebKit引擎集成的浏览器浏览器优化的图形库包括二维和三维图形库,基于OpenGL ES 1的3D图形库(可选硬件加速)# SQLit
28、e使用结构化的数据存储多媒体支持包括常见的音频,视频和静态图像文件格式(如MPEG4,H.264,MP3,AAC,AMR,JPG,PNG,GIF)GSM(手机硬件依赖性)蓝牙的优势,3G,蓝牙,WiFi(依赖于硬件),照相机,GPS,指南针,和加速度计(依赖于硬件)丰富的开发环境包括一个设备模拟器,调试工具,EXIT图的内存和性能分析Android应用程序是由一个或多个组件1: (1)活动(活动)活动是最为重要的组成部分,使用最频繁,在Android应用,一般的手机屏幕活动的代表。如果一个浏览器的手机,那么Android是相当于一个网页。在活动中,ListView,按钮可以添加一些图片,比如T
29、extView控件。当用户选择从主屏幕的一个程序,发起一个活动,和所有的用户交互的事情发生在这个组件。(2)服务(服务)服务和活动几乎水平,它可以与其他组件之间的交互,但只能在后台运行。服务可用于长时间的任何操作,如网络监控或检查更新。(3)内容提供商(ContentProvider)也就是说,内容提供商可以作为数据库管理员的应用。Android应用程序的数据存储方法是最常用的SQLite数据库,它是一个轻量级的数据库,非常适合嵌入式开发。客户端软件的菜单和命令信息,存储在SQLite数据库。内容提供商提供一个接口,其他应用程序(如活动)可以促进互动和SQLite数据库。(4)无线电接收机(广
30、播接收器)广播接收机主要用于监控系统的信息,并做出回应。第2.3节 系统的基本架构客户端的架构:图2.1 客户端架构图服务器端的架构:图2.2 服务器端架构图第2.4节 点餐系统的需求分析2.4.1性能的需求本系统的操作非常的简单明了,不需要服务员进行操作,只需顾客单独操作,其为中小型企业提供了简单又方便简洁的方法,提高了餐厅的效率。2.4.2可行性的分析技术的可行性目前,计算机和网络技术和手持设备一直是国内外大型快餐企业和快餐店已广泛应用于手持设备,如内部订餐系统牛排店使用;和国内各餐饮行业在设备管理如迷你平板电脑使用,事实上,随着手持设备越来越流行的餐。手持设备的使用不仅提高了工作效率,而
31、且还节省了大量的人力和物力资源。提高管理能力,所以,我做这顿的Android应用是十分必要的。这个应用程序有一个用户的指导作用,因此它是管理软件方面的操作和有优势,因此该技术是完全可行的。订货系统采用当前流行的移动互联网信息处理,快速,可靠的、有效的、方便的特点,全面提高管理水平和运营商的工作效率,这给用户的工作和生活带来的便利和效率,经济方面的可行性。营运可行性 根据我们的人性化设计原则,用户界面友好,操作方便和引导功能。系统的整体结构设计合理,数据处理功能,和失去了许多原有的产出指标和数据可以及时,快速准确的警报分类,统计和数据处理等。一般来说,一个明确的和友好的界面,它可以方便用户操作,
32、无须经过特别的训练就能够使用。随着餐饮业的快速发展,除了餐厅的保证和提高服务质量,服务创新也很重要。如何吸引客户,如何提供方便,为客户提供更优质的服务,已经成为竞争的过程要经过餐厅。随着当今社会手机应用的快速发展,我们将订购系统中使用的智能手机,以方便顾客浏览菜单和命令,并能提高工作效率,有效地节约了餐厅的劳动,为客户节省更多的时间。在现代餐饮业的预订系统,对餐厅的显示信息,订单处理食品加工和信息,提高工作效率,提高客户订单的吸引力。该系统包括会员管理,搜索和浏览菜单项,订单管理等功能13。2.4.3系统需求性能分析 (1)系统的可扩容性系统的可扩容性要求系统可以根据系统的负载的情况和容量的增
33、长,较方便地实现系统的扩容。(2)系统的可用性 该系统要求保证应用的所有功能的正常使用,操作的界面的方便性,界面的逻辑的合理性。 (3)系统的安全性 前端和后端系统要求能够提供一定程度的安全和密码保护。该系统以确保信息的安全,以防止恶意访问。为了防止在攻击程序的各种漏洞,如跨站脚本攻击,重复提交和攻击。使用MD5加密系统的用户登录密码。用户必须在注册时提供的密码强度测试功能,密码的长度至少为6,并且不允许使用重复的数字。系统会每30天到互联网上,注册用户可以修改登录密码(4)系统的可移植性 要求系统可以方便地在应用服务器之间的任何时间完成移植。(5)系统的可维护性 这个系统必须有一个完整的备份
34、策略,有良好的写作习惯,记录。(6)系统的性能 测试期间要求系统能够负荷300百个注册用户。 系统总体设计第3.1节 系统功能结构本系统设计采用了面向对象的系统设计方法,开发工具选用的Eclipce。根据前面的设计思路和系统功能分析总共设计了系统登录、点餐、菜单打印、菜名修改、界面个性化等几个模块。系统主模块层次图如图2.1所示:智能点餐系统菜名修改点餐菜单打印界面个性化顾客登录图3.1 系统主模块层次图第3.2节 系统工作流程本系统通过一个简单的流程,就能让顾客购买到自己满意的菜品,首先由顾客针查看菜单,同时根据自己的喜好进行选择,点菜员进行操作选菜,然后登记顾客姓名地址等个人信息。然后打印
35、单据。主要流程如下图3.2所示:图3.2 点餐流程图第3.3节 数据库的设计和实现3.3.1数据库的设计数据库的设计是根据用户的具体需求,在我们的定义,一个具体的数据库管理系统,程序设计和数据库结构建筑。事实上,它可以说是对象之间的关系的过程,包括数据库的规划和结构化数据的数据对象。可分为五个部分。(1) 需求分析 在系统之前,必须分析和探讨企业用户和数据的使用,我们使用的数据类型和范围,在日常业务活动的情况和具体的交流,对我们的要求和限制的数据库系统的用户。智能点餐系统我主要做餐厅服务信息为主体,所以必须有一个菜单系统表中保存所有信息。随着一些菜做主键,负责客户终端登录系统还应具有表中保存用
36、户信息,该表包含了一些基本的信息。这是客户的编号为主键。在这个订货系统,显然必须有一个表号我们。所以必须有一个表,该表,表中保存信息表。客户可以按照自己的喜好,在备用桌数选择你喜欢的酒店餐厅的位置。因为有一个酒店当然是表顺序表,当然包括订单号,吃饭的时间,用户ID,表号,数量,和计费等基本信息。这就需要一个订单明细表用于存储客户订单信息。有一个分类表用于存储凉菜,热菜等系列菜单。 (2) 概念的设计 这个概念模型应反映真实世界的信息结构,各部门的信息流,彼此关系和信息存储部门之间的信息,查询和处理要求。该模型应避免在计算机的数据库进行了详细的介绍,以抽象的形式表示。为了扩大实体关系模型方法为例
37、,第一步是与它的属性定义现实世界的部门的各种实体,实体和信息约束之间的关系,为各部门提供的部分描述信息(在数据库中称为本地用户视图)。第二步整合地方查看多个用户获得在全球前视图,概念数据模型来描述真实世界的用户。不考虑用在概念结构设计的数据库管理系统,操作系统类型,只考虑设计的关系可以满足各种实体和他们的客户的用户需求,一直在这里,菜单,菜单采用E-R来进行描述。 (3) 物理的设计 根据具体的数据库管理系统中的各种存储结构和存取方法取决于计算机体系结构的具体措施的物理设计,选择最合适的物理存储结构的应用任务(包括文件类型,索引结构和数据的存储和逻辑顺序等),访问方法和访问路径。这一步叫做“物
38、理设计“的结果。(4) 逻辑的设计 主要的工作是一个在现实世界中的逻辑模型设计的数据库数据的概念,这是适应逻辑数据模型来支持特定的数据库管理系统。同时,也需要对各种数据处理中的应用产生相应的逻辑子模型。这一步叫做“逻辑数据库设计。 (5) 验证的设计 一般来说,一个大型数据库的设计过程中,往往需要几个周期。当设计一个环节出现问题时,你可能需要回到前面修改。因此,应考虑在未来修改数据库设计的可能性和便利性。 (6)运行与维护的设计 在数据库投入运行的过程中,必须进行不断的修改和调整。到目前为止,很多工作还需要设计数据库,除了关系型数据库有一个相对完整的数据范式理论可以用来指导数据库设计的一部分,
39、一套完整的数据库设计理论的缺乏,方法和工具,以实现数据库设计自动化或半自动化的互动设计。所以对数据库设计理论的未来发展方向,数据库设计,寻求更有效地表达语义关系数据模型,提供设计工具的自动或半自动综合开发各阶段的设计环境,处理数据库的设计过程中,更加规范、更加方便,如此先进的软件工程思想和方法充分体现在数据库的设计过程。根据预E-R图分析,创建一个数据库命名服务器上的Android。包括如下表:表订货信息表,配方存储表账户存储表。android数据库中数据表的具体结构如图3-3所示。图3.3 数据库架构图1、餐桌点餐信息表餐桌点餐信息表中保存了各个餐桌的点餐信息,主要存储了菜名、份数、时间。1
40、t表的示例结构,如图3-4所示。图3.4 点餐信息表餐桌点餐信息表中保存了各个餐桌的点餐信息,其信息存储状态如图3-5所示。图3.5 信息存储2、菜谱存储表(menu)菜谱存储表中保存了菜的详细信息,主要字段有:菜名,简介,价格,菜区。Menu表的表结构如图3-6所示。图3.6 菜单存储表结构菜谱存储表中保存了菜的详细信息,其信息存储状态如图3-7所示。图3.7 菜单存储表3、账目存储表(account)账目存储表中保存了各桌号的运营情况,其中包括:桌号,运营账目,时间。Account的表结构如图3-8所示。图3.8 账目存储表账目存储表中保存了各桌号的运营情况,其信息存储状态如图3-14所示
41、。图3.9 信息存储3.3.2数据库与服务器的链接 本系统采用java语言编写,使用jdbc连接Mysql数据库,所以要用到java中的connection对象和mysql驱动连接到数据库。其实现代码如下所示。 String driver=com.mysql.jdbc.Driver String url=jdbc:mysql:/localhost:3360/wireless_db? useUnicode=true&characterEvcoding=utf-8 String username=root String password= Connection conn; Class.forNam
42、e(driver); Conn=DriverManager.getConnection(url,username,password) 只有成功连接到了数据库才能进行其他操作,否则就无法开展以下的设计与实现工作了。可见,连接数据库是一个很关键的步骤。界面详细设计第4.1节 界面设计与实现 该阶段主要完成各个功能模块的设计,处理过程的设计要根据模块划分以及结构化程序设计的基本原则,对每个程序模块中的详细处理过程进行设计。4.11 用户登录界面1.登陆模块的界面图图4.1 用户登录界面 输入:用户名和密码 处理: (1)启动自身的登陆窗口。 (2)手动输入用户名和密码。 (3)如果输入的用户名或密码
43、为空,则弹出对话框,并进行错误提示,告知用户名不可为空。(4)以输入的用户名为关键字,在数据库中检索用户信息表的用户名和密码字段,判断是否正确(5)通过向服务器请求数据,判断如果用户名是否存在,如果不存在则提示用户注册新的账号。(6)如果用户名存在,比较数据库中的密码字段与输入的密码是否相等,相等后直接进入系统。4.1.2 注册界面的实现注册单界面主要是当您没有登陆的用户名时候需要进入的界面,注册完新的账号和密码后就可以进入点餐了,此界面主要需要输入用户名,密码,性别,出生日期等个人基本信息。界面如下图所示:图4.2 用户注册界面 输入:用户名,密码,性别,出生日期,手机号 处理:启动注册界面
44、窗口手动输入用户名和密码选择自己的性别和出生年月输入手机号方便与顾客进行直接的记录主要代码:/* * 判断是否注册成功 * * return */private boolean registerPro() JSONObject jsonObj = null;try / 获取返回的JSON对象jsonObj = query(userinfos);json_back_message = jsonObj.getString(rtmsg);/ 如果接收到的结果代码rt=200if (jsonObj.getString(rt).equals(200) return true; catch (Except
45、ion e) e.printStackTrace();return false;/* * 设置预定日期的Dialog */public void createDateDialog() / 获取当前时间Calendar calendar = Calendar.getInstance();/ 时间对话框DatePickerDialog dialog = new DatePickerDialog(BookingSeatsActivity.this,new DatePickerDialog.OnDateSetListener() /* * 日期对话框时间设置 */public void onDateS
46、et(DatePicker view, int year,int monthOfYear, int dayOfMonth) / 获取当前时间Calendar c = Calendar.getInstance();/ 设置年c.set(Calendar.YEAR, year);/ 设置月c.set(Calendar.MONTH, monthOfYear);/ 设置日c.set(Calendar.DAY_OF_MONTH, dayOfMonth);/ 系统自定义输出月份小一月所以输出MONTH值时强转整/ 判断 如果月日小于10 在前面加0String strMonth = ;String str
47、Date = ;if (Integer.valueOf(c.get(Calendar.MONTH) + 1) 10) strMonth = 0+ (Integer.valueOf(c.get(Calendar.MONTH) + 1); else strMonth = String.valueOf(Integer.valueOf(c.get(Calendar.MONTH) + 1);if (Integer.valueOf(c.get(Calendar.DATE) 10) strDate = 0+ (Integer.valueOf(c.get(Calendar.DATE); else strDat
48、e = String.valueOf(Integer.valueOf(c.get(Calendar.DATE);/ 将时间设置到txtDatetxt_date.setText(c.get(Calendar.YEAR) + - + strMonth+ - + strDate);time=c.get(Calendar.YEAR)+strMonth+strDate+;System.out.println(txt_date +txt_date.getText();, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH),calendar.g
49、et(Calendar.DATE);/ 显示对话框dialog.show();4.1.3 点餐主菜单界面的实现点餐界面主要包含四个部分,点餐预定,菜单查询,信息查询以及菜品展览模块,界面展示如下图所示:图4.3 点餐主界面此界面主要包含四个部分,点餐预定,菜单查询,信息查询以及菜品展览模块,下面将从不同的模块分别进行阐述其实现代码如下所示:/ 跳转到MainActivitytry if (jsonObj.getString(rtmsg).equals(version) Toast.makeText(this, 版本已经为最新版, Toast.LENGTH_LONG).show(); else
50、/进入该界面时,模仿从服务器加载数据时的虚拟进度条gressDialog = ProgressDialog.show(this, 更新菜单, 正在更新菜单,true);gressDialog.show();/通过线程来循环调用进度条super.handler.post(this);/Toast.makeText(this,/正在更新菜单。 + 当前最新版本: + jsonObj.getString(rtmsg),/Toast.LENGTH_LONG).show();database.execSQL(Delete from caidan);database.execSQL(Delete from
51、 liangcai);database.execSQL(Delete from recai);database.execSQL(Delete from zhushi);/database.execSQL(delete * from jiulei);database.execSQL(Delete from tanglei);database.execSQL(Delete from yinliao);database.execSQL(Delete from wankuai);database.execSQL(insert into caidan values(1,401,二锅头,13.0,酒类,二
52、锅头,酒类,口感好,不上头,+ R.drawable.erguotou + ,0););System.out.println(jsonObj.getString(rtmsg);database.execSQL(update banbenhao set banben=+jsonObj.getString(rtmsg)+ where _id=1);int j = 1;int recaiid = 1;int liangcaiid = 1;int zhushiid = 1;int yinliaoid = 1;int tangid = 1;int wankuaiid = 1; int sui;menul
53、ist = jsonObj.getJSONArray(list);for (int k = 0; k = jsonObj.getJSONArray(list).length(); k+) temp = menulist.getString(k);temp = temp.replace(, n);temp = temp.replace(, );temp = temp.replace(, );temp = temp.replace(, );StringBuffer tempb = new StringBuffer(temp);int i = 0;tempId = tempb.substring(0
54、, tempb.indexOf(n);tempb = tempb.delete(0, tempb.indexOf(n) + 1);temptype = tempb.substring(0, tempb.indexOf(n);tempb = tempb.delete(0, tempb.indexOf(n) + 1);tempName = tempb.substring(0, tempb.indexOf(n);tempb = tempb.delete(0, tempb.indexOf(n) + 1);tempPic = tempb.substring(0, tempb.indexOf(n);tem
55、pPic=tempPic.replace(,);System.out.println(tempPic);tempb = tempb.delete(0, tempb.indexOf(n) + 1);tempPrice = tempb.substring(0, tempb.indexOf(n);tempb = tempb.delete(0, tempb.indexOf(n) + 1);tempJieShao = tempb.substring(0, tempb.indexOf(n);tempb = tempb.delete(0, tempb.indexOf(n) + 1);tempDanWei =
56、 tempb.toString();temptype=temptype.replace(, );temptype=temptype.replace(, );switch (Integer.parseInt(temptype) case 1201:tempNum = 200 + recaiid+; Random ran=new Random(); sui=ran.nextInt(2); String sql=insert into recai values( + recaiid + , + tempNum + , + tempName + , + tempPrice + , + temptype
57、 + , + tempDanWei + , , + tempJieShao + ,+tempPic+,1);sql=insert into recai values(+ recaiid + , + tempNum + ,+ tempName + , + tempPrice + ,+ temptype + , + tempDanWei + , ,+ tempJieShao + ,+tempPic+,0);database.execSQL(sql);database.execSQL(insert into caidan values( + j+ , + tempNum + , + tempName
58、 + ,+ tempPrice + , + temptype + ,+ tempDanWei + , , + tempJieShao+ ,+tempPic+,0);j+;recaiid+;break;case 1202:tempNum = 100 + liangcaiid+; Random ran1=new Random(); sui=ran1.nextInt(2); database.execSQL(insert into liangcai values( + liangcaiid + , + tempNum + , + tempName + , + tempPrice + , + temp
59、type + , + tempDanWei + , , + tempJieShao + ,+tempPic+,1); database.execSQL(insert into liangcai values(+ liangcaiid + , + tempNum + ,+ tempName + , + tempPrice + ,+ temptype + , + tempDanWei + , ,+ tempJieShao + ,+tempPic+,0);database.execSQL(insert into caidan values( + j+ , + tempNum + , + tempNa
60、me + ,+ tempPrice + , + temptype + ,+ tempDanWei + , , + tempJieShao+ ,+tempPic+,0);j+;liangcaiid+;break;case 1203:tempNum = 500 + tangid+; Random ran2=new Random(); sui=ran2.nextInt(2); database.execSQL(insert into tanglei values( + liangcaiid + , + tempNum + , + tempName + , + tempPrice + , + temp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 提高班级学习积极性的方案计划
- 企业人事部的数字化转型之路计划
- 音乐创作委托合同三篇
- 市场推广的创新方式计划
- 安全教育小班安全意识培养计划
- 邢台学院《学前儿童文学》2022-2023学年第一学期期末试卷
- 信阳师范大学《素描全身像写生》2022-2023学年第一学期期末试卷
- 关注学生学习动力的激发策略计划
- 营销策划推广服务委托合同三篇
- 西南医科大学《流行病学》2021-2022学年第一学期期末试卷
- 低年级革命文化类课文教学探析
- 教师法及与教师有关的法律法规培训
- TPM知识竞赛题库含答案
- 国开机考答案-工程力学(本)(闭卷)
- 降温池施工方案
- 2024医院护士聘用合同
- 找人办事协议
- TD/T 1060-2021 自然资源分等定级通则(正式版)
- 地基处理方案选择案例分析
- GB/T 17241.1-2024铸铁管法兰第1部分:PN 系列
- 2024年江苏省苏锡常镇四市高三二模语文答案讲解课件
评论
0/150
提交评论