ImageVerifierCode 换一换
格式:DOCX , 页数:33 ,大小:1.46MB ,
资源ID:17585499      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-17585499.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于android手机终端点菜系统.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

基于android手机终端点菜系统.docx

1、基于android手机终端点菜系统* 2014 届本科毕业论文(设计) 论文(设计)题目: Android手机终端点菜系统 学生姓名: * 所在院系: 信息工程学院 所学专业: 计算机科学与技术 导师姓名: * 完成时间: 2014-05-10 摘要 本课题所实现的电子点菜系统改变了传统的服务员和菜单的点菜模式,采用新颖的电子终端点菜系统,这种新式的方式使得餐馆更有档次和特色,对于其在同行业的竞争有着明显的帮助。本课题采用c/s开发模式,分为服务器端和Android客户端的一些操作。在服务器端主要采用Jsp动态网页技术,实现了后台餐馆一方对菜谱信息的管理和对顾客订单的处理。在客户端主要采用An

2、droid技术实现了顾客对菜品的查找、分类查看、顾客对自己订单的选择和查看,顾客在确定订单之后可以提交给餐馆一方,使得餐馆一方得以查看并通知厨房做出菜品。关键词 Android,MySQL,Jsp,JavaABSTRACTElectronic ordering system the realization of this project has changed the traditional service and menu menu mode,the novel electronic terminal order system,the new method makes the restaur

3、ant more grades and characteristics,this is very helpful for the same industry competition.This topic uses c/s development mode,divided into some operation server and Android client.On the server side Jsp dynamic Webpage technology mainly uses,this has realized the backstage restaurant management si

4、de of the menu informationand customer order processing.The client uses the Android technology to realize the customer on the foodsearch, classification and view view, of their customers the choice of orders,customers in the restaurant after the order is confirmed can be submitted to a party.This ma

5、kes the restaurant side to see and notice the kitchen to make dishes.Keywords Android,MySQL,Jsp,Java1. 绪论 11.1项目背景及意义 11.2 Android系统概述 12. 系统理论和技术路线 32.1 Android四大组件 32.2 c/s体系 32.3 Jsp和Servlet 42.4系统主要路线 42.5 运行环境要求 52.5.1 硬件环境 52.5.2 软件环境 53. 系统需求分析 53.1各模块关系图 53.2数据库设计 63.2.1 数据库列表 63.2.2数据库连接的实现

6、 73.3 功能需求描述 113.4 主要开发工具 133.4.1 MyEclipse 133.4.2 ADT 144. 软件系统设计 154.1后台功能模块 154.1.1后台登陆模块 154.1.2后台菜品模块 174.1.3后台订单模块 194.2客户端功能模块 204.2.1首页面模块 204.2.2主功能模块 214.2.3订单模块 234.2.4游戏模块 255. 结论 26谢词 27参考文献 281.绪论1.1项目背景及意义 由于互联网的高速发展,而电子技术由于在外国比如说美国最先得到了发展并被用于生活的各个领域,而餐饮作为我们生活中的一个重要环节,它的发展也是非常迅猛的,以美国

7、举例,从1999年的餐饮业的营业额3500多亿美元到2010年的6000多亿,由于人们对餐饮业的关注,所以电子技术对餐饮的影响非常大,所以像手机点菜系统的发展在美国已经逐渐得得到了普及。在我们国家,餐饮是人民非常关心的一个方向,但是点菜系统在餐饮业的普及还只是刚刚开始,现在仅仅是在一部分比较高档的餐厅出现,但是我们从餐饮业的发展不难看出,点菜系统的普及是肯定的。近几年,随着Android和ios技术的发展,智能手机和平板不仅仅被广大的青年、青少年甚至儿童和老年人接受并使用,电子产品正在影响着我们生活的方方面面,而餐饮作为我们都必不可少的一部分也不可避免的和电子产品结合到了一起。手机、平板的点菜

8、系统替代人工服务员的点菜方式不仅仅节省了大量的劳动力,降低了成本,而且还方便收银员对账单支出的管理,使得餐厅的财政能得到高效透明的管理,当然现代化的电子点菜方式相比较于传统的点菜员会得到广大消费者尤其是青年人的喜爱。 根据科技的发展对社会带来的影响,电子点菜系统必将取代传统的点菜模式,如今电子点菜系统已经在比较高档的餐厅中开始出现并被使用,电子点菜系统必将得到发展。1.2 Android系统概述Android最初是Android公司创办,后由Google公司收购,Google希望将Android创造成一个标准化的、可移动的移动电话平台,进而在移动互联网形成一个开放性的操作平台。2007年谷歌发

9、布第一个Android1.1版本,但并未得到市场的广泛支持,但是到2009年,Android1.5版本的面世,Android凭借“豪华”的界面和蓝牙支持,获得了大量的开发者支持。到目前为止,Android已经超过ios在市场的占有量,国内大量的手机厂商开始生产Android操作系统的手机,Android已经成为世界上最主流的手机操作系统。 图1-1 Android系统的体系结构Android系统的底层是建立在Linux系统之上,总共包括Linux内核、Android运行时、函数库、应用程序框架、应用程序层。Linux层为Android提供了内存管理、网络协议栈、驱动模型、进程管理等核心系统服务

10、。Android运行时则是由两部分组成:Android虚拟机和Android核心库集,Android核心库集提供了Java语言核心库所能使用的绝大多数功能,而虚拟机则负责运行Android应用程序。在这里要区分的是Android和JVM是完全不同的,JVM永兴的是Java字节码,也就是.class文件,而Android虚拟机则运行的是专有的dex文件。函数库包含了一整套能被Android应用程序框架所调用的库的集合,像Android专有的轻量级数据库SQLite等,需要注意的是Android应用程序并不能直接调用这些库,需要经过应用程序框架来调用。Android应用程序框架最主要的功能是提供了

11、大量的API供开发者使用,不管是系统的应用程序还是开发者自己开发的应用程序都可以公平的调用它。应用程序层就是我们平时在手机上所见的包括系统提供的时钟浏览器、联系人等等还是自己下载的由开发者自己开发的Android所有的应用程序。2. 系统理论和技术路线2.1 Android四大组件 Activity要实现的功能是用户交互的组件,它是用户可以看到的,一个Activity可以包含多个UI组件并显示,例如TextView、Button、ImageView、AdapaterView等组件。Service在地位上和Activity是并列的,但是它和Activity不同处在于Service对于用户是不可见

12、的,所以它不能和用户进行交互,因此Service有自己的生命周期,并不依赖于一个Activity,他的主要功能是为其他组件提供后台服务和监控其他组件的运行状态。BroadcastReceiver从名字上说可以把其当做一个信息广播的接收组件,开发者通过集成父类BroadcastReceiver来实现自己的功能。其它组件通过sendBroadcast()等方法来发送广播,子类BroadcastReceiver通过onReceiver(Context context,Intent Intent)方法来监听接收消息。ContentProvider和其它三个组件最大不同在于其可以从其它App程序接口中取

13、得其它App中的信息,最常见例子是:好多App需要读取我们手机联系人中的数据,而ContentProvider就能提供这个需求。2.2 c/s体系 c/s即客户端/服务器端结构,如果说c/s就最好和b/s作比较,那具体的项目举例就是需要下载的qq客户端就属于c/s模式,而网页版的qq就属于b/s结构的项目。c/s结构中需要用户下载专有的客户端软件,而b/s模式,客户端不需要下载任何用户界面,从这一方面来说节约了开发成本,但是从安全性来说,c/s模式对于每个用户都有一个客户端,而b/s模式的客户端是被所有用户公用,而且不固定,所以来说,c/s比较b/s来说安全性相对较高。2.3 Jsp和Serv

14、let Servlet是作用在服务器端,其本质就是一个Java类,它可以响应客户端的请求,并作出处理。Servlet有它自己的生命周期,包括服务器对一个Servlet的首次加载、对Servlet的初始化、初始化后对客户端请求的响应、最后的销毁。对于Servlet的初始化我们只能调用其里面的init()方法一次,以后再用都不会在调用这个方法,而当Servlet销毁时,会调用destroy()这个方法。需要注意的是在后台项目里面,如果用到了Servlet,对于每一个Servlet我们需要在WEB-INF目录中的web.xml对其进行配置。在?问号位置放置此Servlet的名字?一般和其name放置

15、内容一致。在 /? 里面,一定要放置此Servlet在项目中的位置路径。 Jsp作为Java的脚本语言,他其实也可以被当做是Servlet,因为对于Jsp语法,Jsp引擎是先将其转换成Servlet代码,然后才带入执行,Jsp有自己的标签语言,像c标签库、s标签库等,Jsp还有自己的内置对象,像request、response、session等。对于Jsp的声明格式为,对于Jsp的注释的格式为。 在本系统中我们主要是用到Jsp中requset、response、session内置对象像Servlet请求数据,Servlet通过doGet、doPost方法获取请求信息,并做处理,将处理后的信息传

16、送给需要的Jsp页面,Jsp页面获取Servlet传送过来的信息后将其输入在网页上。2.4系统主要路线 在数据库方面,我所设计的电子点菜系统用到的是MySQL数据库,大致包括菜品表、菜品顺序表、优惠券表、用户表、管理员表、销售量表、意见反馈表;对于数据库的存储管理我们借助于navicat for MySQL工具软件来实现。对于服务器端的设计,主要用HTML、CSS来实现,其中对于数据库的请求和获取数据库的信息并显示,主要会用到Jsp语言来实现,如用Jsp中JDBC技术来实现和数据库的连接,用Jsp中一些内置对象request、response来处理HTTP请求中各种参数的处理。通过Servle

17、t中doGet()、doPost()方法来对Jsp页面的请求信息进行处理,并反馈给相对应的Jsp页面。对于Android客户端应用程序的设计主要分三个功能。首先是应用程序的界面设计,我们会用到UI中的一些组件,像一些布局管理器、View、Button按钮等。其次是界面间的内部通信,我们会用到Intent、IntentFilter来实现。最后是Android和后台的通信我们会用到Android的网络应用技术来实现,如用URL来读取网络资源、RELConnection来提交请求。2.5 运行环境要求 2.5.1 硬件环境 服务端:IE浏览器Pad客户端:无特殊要求,因为Android项目在设计时是

18、按照建议七寸分辨率的屏幕来做,因此最好是选用这个尺寸大小的屏幕,在cpu主频上最好选用1.5MHZ以上,如果主频太低,影响程序运行速度。2.5.2 软件环境服务端:MySQL数据库、MyEclipse 、Android ADTPad客户端:Android4.1及以上,如果版本太低,那么一些在4.1以后新增的一些功能,因为App中用到,但是老版本不能识别,造成程序运行不了,所以尽量选用新版本的平板。3. 系统需求分析3.1各模块关系图此系统设计主要由以下各功能组成,分别包括后台服务器端和客户端的一些功能,在服务器端主要包括管理员的登陆、管理员对菜品信息的管理、管理员对订单信息的管理。在客户端所要

19、实现的模块中,此App中所要实现的功能包括首页面的今日特色推荐、按照不同分类来进行菜品(包括荤菜、素材、价钱、酒品)显示、已点的菜品、登陆注册、个人信息和小游戏模块,系统所包含的模块如下图所示: 图2-1 系统模块3.2数据库设计3.2.1 数据库列表数据库我们采用MySQL数据库,所需要建立的表有:(1)菜品表(dish)是为了可以在客户端可以实现对菜品按照不同类型的排序和查找。其中包括主键菜名(ID)、菜名(DishName)、菜图(DishImage)、菜价(DishPrice)、菜品所属类别(DishCategory)、菜品是否被推荐(IsRecommend)、菜品的拼音拼写(Spel

20、l)、菜品的拼音简拼(SimpleSpell)。(2)菜单顺序表(Dish_order)是主功能,是为了餐馆能正确有序的让厨房做出每道菜,并且可以使每道菜能正确送到每个餐桌。其中包括主键菜品所属上菜顺序(MenuNumber)、桌名(TableID)、菜品ID(DishID)、菜名(DishName)、此类菜所点数量(DishCount)。(3)菜品的销售量表(dish_salevolume)主要是方便餐馆一方可以对每道菜进行统计,并可对此进行各方面的调整。其中包括主键为菜品ID(DishID)此菜品的销售量(RealSale)。(4)意见反馈表(feedback)主要是方便客户对菜的味道和餐

21、馆的服务等提出意见。其中包括主键用户ID(ID)、此用户所提得意见(Information)。(5)管理员表(manager)主要是为了餐馆一方在pc端登陆所用。其中包括主键管理员ID(ID)、登录名(UserName)、登录密码(UserPassword)。(6)用户表(user)主要是为了实现对用户信息的存储。其中包括主键用户ID(ID)、登录名(UserName)、登录密码(Password)。(7)优惠券表(user_coupon)主要是为了实现对优惠券信息的的管理。其中包括主键优惠券ID(ID)、优惠券所属用户的用户的ID(UserID)、优惠券有效开始日期(CouponStartT

22、ime)、优惠券的份额(CouponValue)优惠券有效截止日期(CouponEndTime)。3.2.2数据库连接的实现对于数据库的连接,本系统用到的是Java中的JDBC技术,JDBC为开发者提供很多核心的类库,并规范了连接数库的要求,包括对数据库的连接、对数据库的查询和各种操作、从数据库中获取数据。JDBC中有很多接口和常用类,我们主要用到的是DriverManager、Connection、Statement、ResultSet。当然我们通过JDBC技术和数据库进行连接时,对不同的数据库我们需要加载不同的驱动程序类,本系统我们用到的是MySQL数据库,所以我们将MySQL-conne

23、ctor-Java的包导入程序即可保证与数据库的连接。 此系统采取MySQL数据库,数据库的连接程序在后台PadOeder_Service程序src目录的util包中,首先我们现在src目录中建立一个名字为DBConfig.properties的配置文件,里面存放数据库连接需要的连接名、url、数据库的用户名和密码。对于配置文件的使用可以方便其他使用者在不同的地方进行使用,其他使用者只需要在配置文件中重新改写不同的信息而不需要在代码中更改。DriverManager可以自动寻找相应的数据库驱动程序,并可以与之连接,DriverManager可以识别MySQL数据库、SQL Server等数据库

24、的驱动,DriverManager通过调用Class.ForName(”),接着我们通过DriverManager中的getConnection(String url,String user,String password)方法与数据库即可取得连接,在getConnection方法中的三个参数中,url对于不同的数据库有不同的url,url的组成包括协议、子协议、子名组成,由于本系统用的是MySQL数据库,因此我们就用连接MySQL数据库的url做例子,对于连接MySQL的url为:jdbc:MySQL:/127.0.0.1:4417,在这里需要注意的是常用的数据库端口是3306,因为本人设置

25、的是4417,因此在我们这里我的url中的端口号为4417。getConnection中的user和password分别为自己数据库对应的账号和密码,对于数据库的连接代码如下:public class DBUtil public Connection openConnection() Properties prop = new Properties(); String driver = null; String url = null; String username = null; String password = null; String yhc_url= null; try prop.l

26、oad(this.getClass().getClassLoader().getResourceAsStream( DBConfig.properties); driver = prop.getProperty(driver); url = prop.getProperty(url); username = prop.getProperty(username); password = prop.getProperty(password); yhc_url = prop.getProperty(YHC_url); Class.forName(driver); return DriverManag

27、er.getConnection(url, username, password); catch (Exception e) e.printStackTrace(); return null; public String getUrl() Properties prop = new Properties(); String yhc_url = null; try prop.load(this.getClass().getClassLoader().getResourceAsStream( DBConfig.properties); yhc_url = prop.getProperty(YHC_

28、url); return yhc_url; catch (Exception e) e.printStackTrace(); return null; 配置文件DBConfig.properties中所存放的信息如下:Driver=com.MySQL.jdbc.Driverurl=jdbc:MySQL:/127.0.0.1:4417/e-menu?useUnicode=true&characterE ncoding=utf-8username=rootpassword=123456JDBC中的另外一个常用接口Connection代表与数据库驱动程序代表的连接,一个应用程序中可以与数据库有一个或

29、者多个数据连接,Connection可以向数据库输入数据库查询语句,数据库因此而能执行其输入的查询语句。Statement作为JDBC的另外一个常用接口,他的出现主要是因为对数据库操作的语句,是封装在其中,它分为Statement、PreparedStatement、CallableStatement三种对象,对于如果查询中没有参数,那么我们就可以使用Statement对象中的executeQuery、executeUpdate等方法对数据库进行查询、更新、增删等操作而如果查询的语句中如果限制条件中需要输入参数,那么我们就需要通过PreparedStatement来对数据库进行操作,我们可以通

30、过PreparedStatement可以通过里面setString(?,?)、setInt(?,?)、setBoolean(?,?)来对查询语句中的参数赋值,举例如下:String sql = select ID,DishName,DishImage,DishPrice,DishCategory,IsRecommend,Spell,SimpleSpell,RealSale from dish,dish_salevolume where DishID=ID limit ?,? ;ps = conn.prepareStatement(sql);ps.setInt(1, pagenow);ps.se

31、tInt(2, pageSize);CallableStatement因为在本系统中并不常用,在这里就不做概述。ResultSet作为JDBC中另外一个重要的接口,他的主要功能是存储从数据库中查询获取的数据,ResultSet中常用的方法包括next()用来使光标移动到数据库记录的下一条,因为其这功能,我们可以在代码中判断数据库查询结果中的数据我们是否都取得完毕,如果取完,那么next()方法返回一个false,因此循环就可以截止了。举例如下:String sql = select ID,DishName,DishImage,DishPrice,DishCategory,IsRecommend,Spell,SimpleSpell,RealSale from dish,dish_salevolume where DishID=ID limit ?,?

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2