移动无线点餐客户端的研究与实现(Java+Android)
创始人
2024-02-21 23:58:03
0

目录
1 绪 论 2
1.1 研究的背景及意义 2
1.2 本文主要内容 2
2.1 系统架构 3
2.2 关键技术 3
2.2.1 JDBC 3
2.2.2 Jquery 4
2.2.3 Ajax 4
2.3 开发环境及平台 5
2.3.1 Eclipse 5
2.3.2 MyEclipse 6
2.3.3 Tomcat服务器 6
2.3.4 应用平台Android 7
3 订餐系统分析与设计 9
3.1需求分析 9
3.1.1 系统目标和要求 9
3.1.2 可行性分析 9
3.2 订餐系统概要设计 10
3.2.1 模块的划分 10
3.2.2 功能模块的设计 10
3.3 数据库设计 11
3.3.1 数据库需求分析 11
3.3.2 数据库E-R图设计 12
3.3.3 数据表设计 13
3.3.4 连接数据库实现 14
4.1安卓平台系统实现 15
4.1.1 功能描述 15
4.1.2 界面展示 15
4.1.3 关键代码 21
} 24
4.1.4 服务器端的实现 24
4.2 网页系统实现 25
4.2.1 界面展示 25
4.2.2 关键代码 28
结 论 32
致 谢 33
参 考 文 献 34
1.2 本文主要内容
本文介绍了无线点餐系统的开发过程。论文详尽论述了从需求分析、系统分析、概要设计、详细设计以及测试与调试的整个开发过程。首先系统地研究了无线点餐系统的背景和意义,分析了当今点餐系统的特点和共性,从而得出设计本系统的思路和方法。接着介绍了实现系统开发的Android平台环境,数据库用MySQL实现。同时简要介绍了以上工具的功能和方法。
概要设计分成后台数据库管理操作设计和客户端操作设计,同时介绍了数据库的建立和维护。详细设计主要阐述了点菜管理、并台管理、查台管理,转台管理,注销等实现,并给出了系统的部分设计代码。
3 订餐系统分析与设计
3.1需求分析
3.1.1 系统目标和要求
首先,我们得确定使用这个系统的用户应该有顾客、服务员、收银员。顾客和服务员应该是系统数据的起点,由他们做出相应的操作,然后系统进行处理;收银员则为系统数据的终点。
该系统在性能功能上应达到如下要求:
1.操作简单、界面友好:完全控件式的页面布局,使得菜品,资讯,座位等信息的
录入工作更简便,许多选项包括餐厅信息,桌位,包房信息等只需要点击鼠标就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。对常见的类似网站的管理的各个方面:基本信息录入、浏览、删除、修改、搜索等方面都大体实现,顾客对菜品的预定及支付方式;
2.即时可见:对客户预定餐饮信息的处理(包括录入、删除)将立即在另一应用端及服务器的对应栏目显示出来,达到“即时点击、即时见效”的功能;
3.系统运行应该快速、稳定、高效和可靠;
4.在结构上应具有很好的可扩展性,便于将来的功能扩展和维护。
3.1.2 可行性分析
随着经济的快速发展,B2C电子商务越来越受到人们的关注。无线订餐系统,已经如雨后春笋般的出现在了许多城市的大酒店中。特别在大型餐饮集团使用已经成为了趋势。同时,随着全国人民的精神、物质和文化生活高度的提高,人们已经不在仅仅停留在吃饱的程度,不但要吃饱,还要吃好,而且对酒店服务也越来越挑刺,正因为如此无线订餐系统的出现,正好满足了大众的需要,不仅让宾客享受到精美可口的美食,更让他们感受到服务管理的贴心与完善。无线订餐业务在中国有着极大的发展空间以及良好的背景。随着酒店管理的完善,使用这种智能的无线点餐系统必然成为追究卓越的餐饮公司的最爱,也更能够体现信息技术发展之猛烈。
此次毕业设计基于Android平台开发无线订餐系统。Android平台给我们提供了巨大的自由空间,再运用Java面向对象语言,是系统功能更加强大。MySQL 是一个杰出的数据库平台,具有功能强大,安全可靠等特点,可用于中小型联机事务处理、数据仓库及电子商务等。
3.2 订餐系统概要设计
系统的概要设计主要对系统的总体功能如何设计,如何划分模块,系统的数据库如何设计进行研究。它为系统的详细设计做铺垫。在系统的设计过程中起着非常重要的作用。
3.2.1 模块的划分
本系统主要分两部分:
1.Web点餐系统与后台
Web系统主要是给客户点菜;客户只能点菜、拿号。
2.终端设备与后台
终端设备指的是基于安卓平台的一个设备。主要给服务员、收银员等工作人员使用;能更新菜谱,结账,点菜、查看等功能。
3.2.2 功能模块的设计
1.Web点餐系统
1)登录——若没有用户账号,提供注册
2)查看菜单
3)查看菜单详情
4)加入购物车(点菜)
5)下单(提交预定菜单)
6)拿号
在这里插入图片描述

图3-1功能描述图

package com.amaker.adapters;import java.util.List;import org.json.JSONException;
import org.json.JSONObject;import android.content.Context;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;public class JsonArrayAdapter extends ArrayAdapter {int resource;Context context;int textFieldId;String textKey;int dropDownResource;String[] from;int[] to;public JsonArrayAdapter(Context context, int resource,int textViewResourceId, List objects, String textKey) {super(context, resource, textViewResourceId, objects);this.resource = dropDownResource = resource;this.context = context;this.textFieldId = textViewResourceId;this.textKey = textKey;}public JsonArrayAdapter(Context context, int resource, List objects,String[] from, int[] to) {super(context, resource, 0, objects);this.resource = dropDownResource = resource;this.context = context;this.from = from;this.to = to;}@Overridepublic void setDropDownViewResource(int resource) {this.dropDownResource = resource;}@Overridepublic View getDropDownView(int position, View convertView, ViewGroup parent) {return createViewFromRes(position, convertView, parent,dropDownResource);}private View createViewFromRes(int position, View convertView,ViewGroup parent, int resource) {JSONObject obj = getItem(position);View itemView;TextView text = null;if (convertView == null) {LayoutInflater vi = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);itemView = vi.inflate(resource, parent, false);} else {itemView = convertView;}try {if (textFieldId == 0) {if (itemView instanceof TextView) {text = (TextView) itemView;} else {if (to != null && to.length > 0) {for (int i = 0; i < to.length; i++) {TextView itemtext = (TextView) itemView.findViewById(to[i]);itemtext.setText(obj.getString(from[i]));}}}} else {text = (TextView) itemView.findViewById(textFieldId);}if (text != null) {text.setText(obj.getString(textKey == null ? from[0]: textKey));}} catch (ClassCastException e) {Log.e("amaker", "布局中的元素不是TextView类型");} catch (JSONException e) {Log.e("amaker", "从Json中读取数据出错,textKey:" + textKey, e);}return itemView;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {return createViewFromRes(position, convertView, parent, resource);}}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关内容

热门资讯

丝芭传媒再喊话鞠婧祎,曝其“涉... 近日,知名演员、歌手,鞠婧祎与经纪公司丝芭传媒的合约纠纷愈演愈烈,引发关注。双方你来我往,各执一词。...
原创 高... 近来,调解国际冲突一直是中美主导的领域,但日本这个小国却偏要插足其中。最近,日本内阁官房长官木原稔突...
政策协同发力!消金机构掘金下沉... “加快补上内需特别是消费短板”成为推动中国经济增长的重要议题。日前召开的中央经济工作会议指出“国内供...
通知!长春公积金政策有调整 12月17日,长春市住房公积金管理中心发布《关于延长阶段性住房公积金使用政策期限的通知》。详情如下:...
持续锤炼法官工作作风 促进矛盾... 党的作风关系人心向背,决定党和国家事业成败,这是习近平总书记对新时代加强党的作风建设重大意义的高度概...
丝芭传媒:鞠婧祎“涉严重经济犯... 12月18日,上海丝芭文化传媒集团有限公司发布致艺人鞠婧祎的最后告知,内容如下: 由于你和你的所谓个...
厦门制订专项扶持政策 发展人工... 17日,市工信局党组成员、副局长上官峰做客市政府网在线访谈,深入介绍了我市人工智能产业的发展态势、独...
新书分析美国中东政策为何屡屡失... 参考消息网12月18日报道英国《金融时报》网站12月6日刊登题为《美国中东政策的悲惨历史》的文章,作...