基于Android的网上订餐系统学士学位论文.docx
《基于Android的网上订餐系统学士学位论文.docx》由会员分享,可在线阅读,更多相关《基于Android的网上订餐系统学士学位论文.docx(56页珍藏版)》请在冰豆网上搜索。
![基于Android的网上订餐系统学士学位论文.docx](https://file1.bdocx.com/fileroot1/2023-6/6/0a224b10-5ea4-4a35-9d57-9dbfbcee888f/0a224b10-5ea4-4a35-9d57-9dbfbcee888f1.gif)
基于Android的网上订餐系统学士学位论文
湖南科技大学
毕业设计(论文)
题目
基于Android的网上订餐系统
作者
学院
专业
学号
指导教师
摘要
随着科技的发展,二十一世纪成为了以网络化,信息化为核心的社会。
网络商业化也成为了时下最热门的词汇。
随着信息技术的不断更新,特别是07年谷歌公司推出了Android开放源码,让Android操作系统成为了移动平台的宠儿,本系统主要分析了中小型餐饮店管理与发展的现状所面临的问题,发现传统的服务模式已经不能适应市场发展的需求,方便、快捷、个性化的网上订餐服务正在进入人们的生活。
针对这类问题,结合当代科技发展的新成果,本文构思规划了一套最贴切的服务模式,为中小型餐饮店外送服务提供了一套系统。
本设计是一个基于Android手机的网上订餐系统,采用C/S模式,能为客户提供网上选择浏览菜品介绍,点菜订餐服务,并为管理员提供一个服务平台实现用户信息与顾客订单的管理,从而提高了服务的质量,本文从系统需求、系统实际、代码实现几个方面介绍了整个软件的开发过程,这个系统采用JAVA、SQLServer数据库,并利用MyEclipse、TOMCAT、AndroidSDK、ADT、AVD、DDMS等开发环境或者开发工具。
关键词:
Android;Java;MyEclipse;SQLite;SQLServer2005
ABSTRACT
Withthedevelopmentofscienceandtechnology,the21stcenturyhasbecomeasocietycentredoninformationandnetwork.Hencecommercializationofnetworkhasbecomeoneofthehottesttopicsinrecentyears.Androidoperatingsystemisgraduallygoingtobethedarlingofthemobileplatform,whichresultsfromtheconstantlyupdatingofinformationtechnology,especiallytheappearanceofAndroidopensourcecarriedoutbyGooglecompanyin2007.Thesystemmentionedinthisarticlemainlyfocusontheproblemsfacedbythemiddleandsmallreataurantsintheirmanagementanddevelopment,andfindsthatthetraditionalservicemodecannotadapttotheneedsofthedevelopmentofthemarketanymore.Amoreconvenient,quicker,andpersonalizedserviceenterspeople’slife——onlinereservations.Inviewoftheexistingproblemsandcombiningthelatestachievementsofthedevelopmentofmoderntechnology,Ihaveconceivedasetofthemostappropriatepatternofdiliveryservicefortherestaurantindustry.
ThisdesignisaonlinereservationssystembasedontheAndroidmobilephones,whichadoptsC/Smode.Itcanprovideservicesforclientstochoosedishesintroductionfreely,andtoordermealactively.Besides,itcanalsoofferaserviceplatformformanagertoregulatetheuserinformationsandcustomerorders,soastoimprovethequalityoftheirservices.Inthisarticle,I’dliketointroducethewholedevelopmentprocessofthissoftwareindetailsfromthesystemrequirements,systemrealization,codeimplementationandsomeotheraspects.ThissystemusesJAVA,SQLServerdatabase,inaddition,MyEclipse、TOMCAT、AndroidSDK、ADT、AVD、DDMSandotherdevelopmentenvironmentsordevelopmenttoolsarealsousedinit.
Keywords:
Android;Java;MyEclipse;SQLite;SQLServer2005
目录
第一章引言1
1.1项目背景1
1.2项目目的1
1.3主要内容2
第二章系统理论与技术3
2.1Android3
2.1.1Android简介3
2.1.2AndroidFeatures特性3
2.1.3Android基本框架(AndroidArchitecture)4
2.1.4Android系统的四大组件4
2.2Java5
2.3SQLServer2005和SQLite数据库5
2.4C/S模式6
第三章系统分析与设计8
3.1功能需求8
3.2模块结构与流程9
3.2.1客户端9
3.2.2服务端10
3.3数据库设计11
3.3.1数据库表及其结构11
3.3.2数据12
3.3.3客户端数据库的连接13
3.3.4服务器数据库的连接14
3.4系统结构15
3.4.1部署图15
3.4.2类图15
3.5执行概念16
第四章系统实现18
4.1Android环境搭建18
4.2客户端19
4.2.1系统登录19
4.2.2系统注册21
4.2.3浏览菜品23
4.2.4搜索菜品25
4.2.5订餐26
4.2.6结账28
4.3服务端29
4.3.1系统登录29
4.3.2订单管理30
4.3.3菜品管理32
4.3.4会员管理35
第五章结束语37
参考文献38
致谢39
第一章引言
1.1项目背景
伴随着我国市场经济的高度发展,企业越来越依赖于市场和客户,这种依赖关系已经开始逐步提升到关乎企业生存的高度。
如何获得更多客流量,如何通过小的代价而使商家获得更大的知名度,这是使企业得以生存、发展、壮大的关键。
年销售过亿的众多电子商务案例让人们看到了更多的商机。
与应用场景相当有限的PC(个人电脑)相比,生而具备便携属性的手机给了电商们更大的想象空间。
移动电子商务由此产生了。
移动电子商务就是利用手机、PDA及掌上电脑等无线终端进行的B2B、B2C或C2C的电子商务。
它将因特网、移动通信技术、短距离通信技术及其它信息处理技术完美的结合,使人们可以在任何时间、任何地点进行各种商贸活动,实现随时随地、线上线下的购物与交易、在线电子支付以及各种交易活动、商务活动、金融活动和相关的综合服务活动等。
而Android操作系统凭借着自己开放的平台允许任何移动终端厂商加入到Android联盟中,从而使得越来越多的用户倾向于选择操作系统为Android的手机品牌。
选择设计基于Android平台的软件,毫无疑问能覆盖更多的群众,餐饮业在电子商务中还处于形成的初期,传统的餐饮业中,大都是以实际门面形式来进行宣传和交流。
作为网络普及化的社会,这还缺少了一些更为现代化的元素。
餐饮业是一个个性化、多样化的服务业,而电子商务则最能体现个性化、多样化服务的方式。
而且现在大部分电子商务都体现为向大企业服务,结合餐饮这个行业的特点,最终还发展为同小区小店服务的模式。
以最贴切的方式,最灵便的服务进入个个网络社区,进入人们的生活。
1.2项目目的
如今宅男宅女日益增加,很多餐饮店都提供外卖服务,传统的外卖服务需要客户给商家打电话并报出地址,商家那边也需要记录下客户的信息,才能将外卖准确的送达,但在这之间都是人在操作,难免会出现偏差和遗漏为客户或者商家带来损失。
如今3G网络覆盖范围越来越广,Android手机也占领了手机行业的大头,那么我们可以考虑做一个Android的应用来方便商家和客户,让出错率达到最低。
用户要点餐的时候只需手机上网点一下菜单就能吃到自己喜欢吃的菜品,这里面蕴含了很大的商机,完全能够有效的提高商家的营业额,基于以上因素,所以提出了这样一个基于Android的网上订餐系统。
本项目的目的是开发一个可以让用户在手机上操作的客户端,然后与服务器连接进行数据交互,来实现网上订餐的流程。
客户端需要实现浏览菜品,点菜,下订单,搜索等功能。
服务器端需实现添加、删除、修改菜品、对订单的处理,以及对会员的管理等功能。
本项目是一款基于Android手机平台的订餐系统,使拥有Android手机的用户生活更加方便快捷,使得手机显得更生动灵活化,与人们更为接近,让手机主人随时随地都能吃到自己喜欢的菜品。
使人们的生活更加多样化。
也使设计者更加熟练Android的技术和其他在市场上的特点。
1.3主要内容
通过对实际情况的调研,本系统大致可分为三个部分,即手机客户端、电脑服务器端和图形化界面工具。
系统采用HTTP协议来进行数据传输。
采用C/S结构,客户端为基于Android操作系统平台的智能手机,主要的业务逻辑则服务器端来实现,数据存储在数据库服务器。
客户端主要实现位置服务,商品展示,会员注册及登录,购物车,商品搜索和个人信息等功能,服务器端主要是完成数据交互和数据逻辑处理,而图形界面化工具则是负责商品、订单等的增删改查。
为了一步步实现确定的功能,本论文主要内容安排如下:
第一章:
引言(介绍课题研究的背景和目的)
第二章:
系统理论与技术(在本项目中设计到的技术简介)
第三章:
系统分析与设计(需求分析,数据库的分析与设计以及系统结构的设计)
第四章:
系统实现(根据需求分析来实现系统的各个模块功能,使客户端与服务器,服务器与数据库能正常数据交互。
这部分主要搭建开发环境,编写代码,测试,运行)
第五章:
结束语(对本项目做一个项目总结)
第二章系统理论与技术
2.1Android
2.1.1Android简介
Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。
Android是基于Linux内核的软件平台和操作系统,早期由Google开发(在华注册商标名为“安致”),后由开放手机联盟(OpenHandsetAlliance)开发。
它采用了软件堆层(softwarestack,又名以软件叠层)的架构,主要分为三部分。
低层以Linux内核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以Java作为编写程序的一部分。
另外,为了推广此技术,Google和其它几十个手机公司建立了开放手机联盟。
Android在未公开之前常被传闻为Google电话或gPhone。
大多传闻认为Google开发的是自己的手机电话产品,而不是一套软件平台。
到了2010年1月,Google开始发表自家品牌手机电话的NexusOne,目前最新SDK版本为Android4.0.3。
2.1.2AndroidFeatures特性
Android系统有如下的几大特性[1]:
·应用程序框架支持组件的重用与替换
·Dalvik虚拟机专门为移动设备做了优化
·内部集成浏览器该浏览器基于开源的WebKit引擎
·优化的图形库包括2D和3D图形库,3D图形库基于OpenGLES
·SQLite用作结构化的数据存储
·多媒体支持包括常见的音频、视频和静态印象文件格式(如MPEG4,MP3,AAC,AMR,JPG,PNG)
·GSM电话(依赖于硬件)
·蓝牙Bluetooth,EDGE,3G,andWiFi(依赖于硬件)
·照相机,GPS,指南针,和加速度计(依赖于硬件)
·丰富的开发环境包括设备模拟器,调试工具,内存及性能分析图表,和Eclipse集成开发环境插件
2.1.3Android基本框架(AndroidArchitecture)
图2.1AndroidArchitecture
2.1.4Android系统的四大组件
在Android系统中,为我们提供了四大基本组件,每个组件是一个视图,但是有些是可见的,有些是不可见的视图,像Activity,ContentProvider是可见的视图,Service和BroadcastReceiver是不可见的,它们只在系统的后台运行。
下面分别介绍四大组件[3]:
(1)Activity简介
在Android系统中Activity提供可视化的用户界面,一个Android应用通常由多个Activity组成。
多个Activity组成了Activity栈(Stack),当前活动的Activity处于栈顶。
Activity有自己的生命周期,由Android系统来控制。
(2)Service简介
顾名思义Service就是运行在后台的一种服务程序,一般很少和用户交互,因此没有可视化界面定义一个Service类比较简单,只要继承Service类,实现其生命周期中的方法就可以了。
一个定义好的Service必须在AndroidManifest.xml配置文件注册,通过元素声明才能使用.Service有自己的生命周期,我们可以调用startService()启动一个Service或者bindService()方法来绑定一个存在的Service
(3)BroadcastReceiver简介
BroadcastReceiver顾名思义广播接收器,它和事件处理机制类似,只不过事件处理机制是程序组件级别的(例如,某个按钮的单击事件),而广播事件处理机制是系统级别的。
到目前为止我们可以使用Intent来启动一个程序组件,我们还可以通过使用sendBroadcast()方法来发起一个系统级别的事件广播来传递消息。
我们可以在你的应用程序中实现BroadcastReceiver来监听和响应这些广播的Intent
(4)ContentProvider简介
ContentProvider用来保存和检索数据,并且使应用程序之间相互访问数据成为可能。
它是跨应用程序共享数据的唯一方法。
Android为常用的数据类型(如:
音视频、图片和联系方式等)提供了大量的ContentProvider。
它们被定义在android.provider包下面。
通过这样定义好的ContentProvider我们可以方便的进行数据操作。
当然我们必须拥有适当的权限。
我们也可以自己来定ContentProvider共享我们的数据,方便用户的访问。
2.2Java
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE,JavaEE,JavaME)的总称。
Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentKit,JDK)。
虽然大多数用户很乐于将Eclipse当作Java集成开发环境(IDE)来使用,但Eclipse的目标却不仅限于此。
Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。
由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。
这种平等和一致性并不仅限于Java开发工具。
尽管Eclipse是使用Java语言开发的,但它的用途并不限于Java语言;例如,支持诸如C/C++和COBOL等编程语言的插件已经可用,或预计将会推出。
Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。
基于Eclipse的应用程序的一个突出例子是IBMRationalSoftwareArchitect,它构成了IBMJava开发工具系列的基础[7]。
2.3SQLServer2005和SQLite数据库
SQLServer是一个关系数据库管理系统。
它最初是由MicrosoftSybase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本。
在WindowsNT推出后,Microsoft与Sybase在SQLServer的开发上就分道扬镳了,Microsoft将SQLServer移植到WindowsNT系统上,专注于开发推广SQLServer的WindowsNT版本。
Sybase则较专注于SQLServer在UNIX操作系统上的应SQLServer安装界面用。
SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。
它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。
SQLite第一个Alpha版本诞生于2000年5月.至今已经有10个年头,SQLite也迎来了一个版本SQLite3已经发布。
2.4C/S模式
在网络连接模式中,除对等网外,还有另一种形式的网络,即客户机/服务器网,Client/Server。
在客户机/服务器网络中,服务器是网络的核心,而客户机是网络的基础,客户机依靠服务器获得所需要的网络资源,而服务器为客户机提供网络必须的资源。
这里客户和服务器都是指通信中所涉及的两个应用进程(软件)。
使用计算机的人是计算机的“用户”(user)而不是“客户”(client)。
但在许多国外文献中,也经常把运行客户程序的机器称为client(这种情况下也可把client译为“客户机”),把运行服务器程序的机器称为server。
所以有时要根据上下文判断client与server是指软件还是硬件。
它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。
目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。
这也就是目前应用系统的发展方向。
C/S架构软件的优势和劣势[9]:
应用服务器运行数据负荷较轻。
最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。
二者可分别称为前台程序与后台程序。
运行数据库服务器程序的机器,也称为应用服务器。
一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户应用程序运行在用户自己的电脑上,对应于数据库服务器,可称为客户电脑,当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果,应用服务器运行数据负荷较轻。
数据的储存管理功能较为透明。
在数据库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的,前台应用可以违反的规则,并且通常把那些不同的(不管是已知还是未知的)运行数据,在服务器程序中不集中实现,例如访问者的权限,编号可以重复、必须有客户才能建立定单这样的规则。
所有这些,对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)背后的过程,就可以完成自己的一切工作。
在客户服务器架构的应用中,前台程序不是非常“瘦小”,麻烦的事情都交给了服务器和网络。
在C/S体系的下,数据库不能真正成为公共、专业化的仓库,它受到独立的专门管理。
C/S架构的劣势是高昂的维护成本且投资大。
首先,采用C/S架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,有这样一些问题,如果需要建立“实时”的数据同步,就必须在两地间建立实时的通讯连接,保持两地的数据库服务器在线运行,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。
(4)传统的C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,由于产品的更新换代十分快,代价高和低效率已经不适应工作需要。
在JAVA这样的跨平台语言出现之后,B/S架构更是猛烈冲击C/S,并对其形成威胁和挑战。
第三章系统分析与设计
3.1功能需求
随着3G时代的到来,手机应用越来越普遍,加之国民手机持有量更是爆炸式增长。
为了方便Android手机用户能随时随地点到自己喜欢的菜品,提出一种操作简便,功能齐全,占用资源少,能为用户节约流量的的网上订餐应用,于是提出本系统的主要功能。
需求界面如下:
客户端:
1、登陆、注册界面
2、显示菜品界面
3