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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于Android的网上订餐系统的设计与实现Word文件下载.docx

1、用户登录;订单展示。关键词:java;Android;网上订餐系统;MyEclipse;TomcatDesign and Implementation of Online Ordering System Based on AndroidABSTRACTNow,the pace of life is getting faster and faster,and peoples requirement of catering is also becoming higher and higher. The catering not merely needs to be delicious,nice a

2、nd tasty,but also has the higher demand in time and way of ordering. the rapid development of network has impact on people in every regard. An increasing number of peopler are used to deal with all the issues through the network. Android has become a global influence on a wide range of operating sys

3、tems.The Online Order System Based on Android is a online order system based on Android mobile platform,it can meet the needs and requirements of the modern business. It enables to enhance the service effectiveness as well as decrease the latency time of services,let people away from the crowded.The

4、 system uses java language development, and use MyEclipse, Tomcat, Android Studio and other development environment or development tools. Using the MVP architecture model, the use of Dagger2 layer and layer segmentation between the code to reduce the coupling, the use of the current more popular Ret

5、orfit network request, Gson data analysis, picasso on the picture display, and finally the use of three ShareSDK platform to verify the user login verification SMS.Android-based online ordering system is divided into server and mobile mobile client; server-side is mainly responsible for providing th

6、e interface to return data to the client, while receiving the client to return the data for processing and save; client to achieve the main features include the following : Shop information display; commodity information display; shopping; settlement; submit orders; user login; order display.Key wor

7、ds: java;android;The Online Ordering System;目录1绪论1.1课题的选题背景和研究意义随着互联网的高速发展,越来越多的企业开始了电子商务;日前,XX外卖,饿了么,美团等大型网上订餐平台应运而生,这些网上订餐平台不仅提供了餐馆的详细菜单等信息,还拥有丰富的商家资源,给用户提供了更多的选择。网上订餐可使餐饮企业提高效率,节约成本。通过计算机对订单的汇总,处理,实时无延迟,大大提高了速度。同时,网上订餐为客户提供的是最方便的饮食方式,以快速,便捷的送货上门为客户提供最好的,最需要的餐饮和服务,为客户省去了很多不必要的时间和麻烦,给商家带来更多的利润1。电子商

8、务则是最能凸显个性化、多样化服务的商务方式。随着网络技术的发展和普及,方便、快捷、个性化的网上订餐正在进入人们的生活。正因如此,基于Android的点餐模式应运而生。1.2完成的任务与设计结果1.2.1完成的任务本系统主要是分为两个部分,第一个部分是电脑服务器端,另一部分是Android客户端;系统采用Http协议进行的数据传输,采用C/S结构,客户端为基于Android操作系统的智能手机,主要业务的逻辑有服务器完成,客户端主要实现商品的展示,购物车,结算中心,订单处理,用户的登录注册以及个人信息的展示等功能,服务端主要是处理客户端发送过来的请求处理相应的业务逻辑。根据系统的设计,本论文主要内

9、容安排如下:第一章 绪论,介绍项目的研究背景和研究意义。第二章 环境搭建及相关技术,介绍开发用到的工具以及开发中设计到的技术要点。第三章 需求分析和总体设计,对项目进行详细的需求分析, 描述系统的总体目标,结构,概要,对系统总体进行设计第四章 详细设计,具体实现客户端与服务器的交互,以及对客户端的每个页面所实现的功能,用到的控件和技术做详细的说明。第五章 环境及测试,对完成的功能进行测试,发现问题立即进行判断,修改,并完善代码以及优化。第六章 总结,对本次的项目做整体的总结。1.2.2设计结果该系统最终根据市面上的订餐系统、外卖系统等最为参考,实现了一些网上订餐的基本功能,其中包括首页显示店铺

10、信息,用户根据自己的喜爱点击店铺进入菜单的详情页进行选购菜品加入到购物车,确定购物车的菜品之后进入结算中心,需要填写用户的收货地址,否则无法生成订单,最后确定订单之后提交订单进入支付中心,支付成功之后等待商家发货.最后项目打包完成之后在不同的Android系统版本的智能手机中进行测试,对测试的结果进行分析优化。2环境搭建及相关技术2.1系统开发工具2.1.1服务器搭建为保证客户端的正常运行,必须保证服务器端配置完毕,并处于启动状态。(1)JDK环境变量的配置首先,在官网http:/ 下载J2SDK并完成安装,本系统采用J2SDK1.7.0_45;之后配置环境变量,我们采用的是Windows10

11、的操作系统2,所以在系统属性(如图2-1所示)的高级选项中单击环境变量进行环境变量的设置(如图2-2所示) 图2-1系统属性 图2-2环境变量的配置 在图2-2中,配置JAVA_HOME和path环境变量,其内容设置如下:JAVA_HOME=D:developjavajdk;path=%JAVA_HOME%bin;完成以上设置后,检验其配置是否成功,打开Windowns的DOS窗口,输入java version进行版本测试,出现如下图2-3即表示安装成功3。图2-3检查java是否安装成功(2)Tomcat简介及安装配置Tomcat服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应

12、用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选4;Tomcat服务器最主要的功能就是充当Java Web应用的容器,它是基于Java的一个Servlet容器,它技术先进、性能稳定,而且免费,运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能,它和IIS、Apache等Web服务器一样, 具有处理HTML页面的功能,因而深受Java爱好者的喜爱并得到部分软件开发商的认可,成为目前比较流行的Web应用服务器,所以本系统将采用Tomcat作为应用服务器5。Tomcat的安装配置:本系统使用Tomcat的版本是: 7.0.5

13、3;官网下载: http:/tomcat.apache.org/download-70.cgi,下载完成之后,解压,然后在测试tomcat,在解压包下的bin文件下找到startup.bat,双击运行启动,然后进入浏览器测试,输入http:/localhost:8080,出现如下图2-4表示Tomcat安装配置成功6。图2-4检查Tomcat是否配置安装成功(3)在MyEclipse中启动自定义的Tomcat在MyEclipse6.0以上的版本中自带一个Tomcat,如果想要把我们安装的Tomcat集成在MyEclipse中将给开发带来极大的方便。只需在MyEclipse中的首选项中的Tomc

14、at设置为我们Tomcat的路径即可,如图2-5所示。图2-5 在MyEclipse中集成Tomcat这样我们在MyEclipse中集成Tomcat之后,在MyEclipse中的Servers里就可以启动Tomcat,并且能在控制台看到其启动过程。2.2.2Android开发组件Android studio简介随着科技快速发展,Android越来越受欢迎,它是由Google公司开发的基于Linux平台的开源手机操作系统,经过不断发展和完善,其功能越来越强大,需求量也越来越大,可说他是一个非常优秀的开源手机平台。“工欲善其事,必先利其器”,在早期时候Android应用的开发工具使用Eclipse

15、;2013年5月,在I/O大会上,谷歌推出新的Android开发环境Android Studio7,并对开发者控制台进行了改进,相比Eclipse而言,它具有效率更高,运行速度更快,提示、补全更加智能,更加人性化,强大的UI编辑器等优点8。本系统使用Android Studio2.1开发。2.2相关技术2.2.1MVP模型在Android中应用MVP的全称是Model-View-Presenter ;它是从经典的模式MVC演变而来,它们的基本思想有相通的地方比如:Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示9。MVP的很大的一个区别就在于:在MV

16、P中View层并不直接使用Model,它们之间是通过Presenter来通信的(图2-6),而MVC中View会直接从Model中读取(如图2-7所示) 图2-6 MVP模型 图2-7 MVC模型2.2.2Dagger2解耦Dagger是为Android和Java平台提供的在编译时进行依赖注入的框架10。那么我们为什么要使用依赖注入?因为对象是在一个独立、不耦合的地方初始化,所以当注入抽象方法的时候,我们只需要修改对象的实现方法,而不用大改代码库;Dagger2解决了基于反射带来的开发和性能上的问题,于是在本项目中是用它隔离界面(View)和业务(Presenter)。2.2.3Retorfi

17、t进行网络请求Retorfit是一个功能强大的联网工具。可以看成是OKHttp+数据解析(json、xml等)的组合。使用它可以简化我们网络操作的工作,提高效率和正确率。3需求分析和总体设计3.1需求分析本项目是针对网上订餐设计与实现的一个APP,此款软件主要是解决用户就餐时面临的一系列问题,用户可以通过一个手机app就可以让就餐变得更加快捷。该系统分为服务器端和移动客户端,服务器负责提供接口返回数据给客户端,客户端接收服务器返回数据展示给用户,具体有首页店铺查看,详情菜谱查看,购物下单,支付订单,查看订单等功能,用户可以足不出户就能买到自己想要的饭菜;由于时间原因,还有诸多的细节功能比如评论

18、,收藏等功能需要拓展开发。各功能需求如下:首页店铺需要上面轮播图展示最新的优惠信息,附近店铺展示所有商铺信息,其中在中间会有分割线,展示大家都在找信息。详情菜谱需要左右列表联动,用户可以根据自己的喜爱点击左边条目信息,右边跳转到相对应的条目;用户也可以滑动右边条目,左边条目跟随变动条目;用户点击右边条目的“+”号添加菜品到购物车,点击购物车跳转至购物车界面。购物车需要展示用户选购的菜品以及相关信息;结算中心需要用户添加送货地址,展现店铺信息和购物信息,可以提交订单;支付中心需要通过生成的订单号获取服务器信息,展示支付方式并由用户选择不同的支付方式;订单列表需要展示所有用户订单信息;我的界面需要

19、提供登录入口和展示个人信息;登录方式需要用户使用手机获取验证码登录。3.2总体设计3.2.1系统目标根据需求分析和功能分析,系统的最终目的:能够清晰的展示店铺信息以及详情菜谱信息;提供基本的点餐,结算,支付等功能;界面框架清晰,页面简单化;网络请求响应迅速。3.2.2系统概要设计该系统结构图如图3-1所示:图3-1系统结构图客户端概要设计如表3-1所示:表3-1客户端概要设计客户端模块简要说明首页店铺模块从服务器获取数据,分条目展示店铺信息详情菜品模块从服务器获取数据,展示菜品信息,并实现左右联动购物车模块选定菜品,存放在单例集合里面,购物车界面从集合读取数据结算中心模块根据购物车的选择结算方

20、式,添加送货地址,进行商品的结算支付中心模块提交订单编号,获取支付方式,进行订单的支付订单模块从服务器获取订单数据展示订单数据我的模块从服务器获取用户信息展示用户信息登录模块手机号验证登录,提交数据到服务器整体流程图如图3-2所示:图3-2客户端流程图3.2.3系统结构本系统采用Http协议来进行数据传输。采用C/S结构,客户端为基于Android操作系统平台的智能手机,主要业务逻辑则由服务器来实现数据存储在数据库服务器。客户端与服务器的数据通信都是借助Json或者Json数组完成。客户端短链接的http协议进行通讯,提交方式为get或者post两种请求方式,服务器进行响应,从而得到需要的结果

21、。附录一给出了各模块的接口说明,客户端根据参数列表内容进行请求,然后根据返回参数和示例进行结果处理。(1)服务端设计使用传统的servlet动态开发web资源,使用fastJson框架将数据封装成字符串返回,为前端提供访问接口,包设计如图3-3所示: 图3-3服务器包结构 图3-4 客户端包结构示意图(2)客户端设计使用MVP模式,详细包结构如图3-4所示;从上至下分为4层:第一层Dagger2主要负责层与层之间的隔离,在项目中主要处理V(视图层)和P(业务层)之间的隔离,主要针对Activity和Fragment中使用到的业务逻辑进行分离;第二层为M(model模型)层,主要处理联网和数据库

22、使用到Bean对象管理,命名约定为:数据库实体使用Bean后缀;第三层为P(presenter业务)层,主要处理业务操作,由于activity和fragment都可以扮演界面管理的角色,所以做两个方向的分支,base包可以省略,抽取一个界面业务管理的通用父类即可;第四层为V(View视图)层,主要是处理界面相关内容。3.2.4数据库设计该项目的数据库只有一个运行在服务端。这种设计方式简单,便于开发。但是用这种设计方式用户每次开启应用是都会将服务器的资源联网下载一遍,造成不必要的浪费。另外,当网络数据不好时数据将无法显示,为此为了优化系统设计,会在客户端进行实现本地缓存。(1)数据表字段设计用户

23、表(用户ID,用户名,用户密码,电话,送餐地址)店铺表(店铺ID,店铺名称,店铺地址,订餐电话,店铺简介,店铺图片)详情菜谱表(食物ID,食物名称,店铺ID,类型ID,价格,食物简介,实物图片)支付方式表(支付ID,支付名称,支付图片)订单表(订单ID,用户ID,食物ID,数量,总价,送餐时间,支付方式)(2)数据表结构设计用户表,存储的是订餐人的相关信息,主要是便于送餐的时候能够及时联系上订餐人,以及订餐地址。同时用户ID贯穿整个项目应用中,比如下订单时会判断用户是否登录,以及订单的展示都是离不开用户ID的。本表的字段如表3-2所示。表3-2用户表结构设计字段名字段类型可否为空字段含义注释U

24、SER_IDNUMBER否用户ID主键USERNAMEVARCHAR用户名USERPASS用户密码MD5加密MOBILENUM电话ADDRESS是送餐地址COMMENT备注店铺表,存储的是店铺信息,包括地址、订餐电话等店铺信息。主要是保证订餐时用户可以及时的联系商家,而不需要额外的存储电话号码。另外还有相关简介、图片和登记等信息,从而便于用户进行选择。本表的字段如表3-3所示。表3-3店铺表结构设计SHOP_ID店铺IDSHOPNAME店铺名称店铺地址PHONENUM订餐电话INTRO店铺简介PIC店铺图片详情菜谱表,存储所有相关的食物菜谱信息,便于用户进行选择。该表直接将店铺表店铺ID作为外

25、键使用。本表的字段如表3-4所示。表3-4详情菜谱表结构设计FOOD_ID食物IDFOODNAME外键TYPE_ID类型IDPRICE价格食物简介食物图片支付方式表,主要是返回两种支付方式供用户选择。本表的字段如表3-6所示。表3-5支付方式表结构设计PAY_ID支付IDPAYNAME支付名称支付方式图片订单表,是一张关系表,存储的是用户和食物的购买关系。为了简化开发,本项目的订餐功能从食物菜谱入手,一次订单中支持多种食物的购买。本表的字段如表3-5所示。表3-6订单表结构设计ORDER_ID订单IDNUM数量SUMDOUBLE总价ORDERTIMEDATETIME订单时间PAY支付方式(3)

26、数据库模型图我们根据店铺表里面的店铺ID找到该店铺所有菜谱信息,然后每个菜谱表会有一个菜谱ID查询所有菜谱的详情信息,用户选餐之后会根据用户ID产生一个订单ID,而每一个订单有两种支付方式,根据支付ID可以查询该订单使用哪种支付方式。所以表间关系如图3-5所示。user_tabPKuser_iduser_nameuser_passuser_addressuser_moblinumuser_commentorder_taborder_idorder_numorder_sumorder_timeorder_payshop_tabshop_idshop_nameshop_addressshop_phoneshop_introshop_picfood_tabfood_idfood_namefood_pricefood_introfood_picpay_tabpay_idpay_namepay_pic图3-5数据库表间关系图 4详细设计与实现4.1整体框架设计与实现4.1.1业务层联网操作项目采用的联网框架Retorfit, 由于服务器回复的是J

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1